помощники активной записи, определенные в ~/.irbrc
-
22-09-2019 - |
Вопрос
Я действительно устал вводить my_ar_object.errors.full_messages в моей консоли, когда я что-то тестирую...
Итак, я хочу определить это:
module ActiveRecord
class Base
def err
errors.full_messages
end
end
end
в моем ~/.irbrc, чтобы он был эксклюзивным для script / console.
Я не хочу определять его в каком-либо инициализаторе rails, так как я не верю, что он принадлежит проекту rails (это помощник irb)
Проблема в том, что когда я это делаю, происходит вот что:
/.../gems/rails-2.3.5/lib/initializer.rb:437:in `initialize_database':NoMethodError: undefined method `configurations=' for ActiveRecord::Base:Class
Есть какие-нибудь идеи, как я мог бы заставить это работать?
Решение
Загружали ли вы ActiveRecord в свой .irbrc перед определением ошибаться способ?Попробуйте добавить
require 'active_record'
или
require 'rubygems'
gem 'activerecord', '2.3.5' # or whatever version you use
прежде чем определить ошибаться способ.
И еще один намек:irb ищет файл .irbrc в текущем каталоге и в вашем домашнем каталоге.Таким образом, вы также можете создать файл .irbrc для конкретного проекта в корневом каталоге вашего проекта.Таким образом, вам не нужно вводить ActiveRecord в вашу конфигурацию irb по умолчанию, поскольку это довольно сильная зависимость.