помощники активной записи, определенные в ~/.irbrc

StackOverflow https://stackoverflow.com/questions/2524246

  •  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 по умолчанию, поскольку это довольно сильная зависимость.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top