Я пытаюсь расширить модель рельсов из драгоценного камня.
С помощью contern мне удалось расширить методы класса, но я не могу расширить ассоциации. included do
возвращает undefined method belongs_to
. Я думаю, что Rails не может правильно загрузить класс...
модель находится в движке, и я пытаюсь получить к ней доступ из моего gem.
Вот код:
# mygem/config/initializers/mymodel_extension.rb
require 'active_support/concern'
module MymodelExtension
extend ActiveSupport::Concern
# included do
# belongs_to :another
# end
class_methods do
def swear
return "I'm not doing it again"
end
end
end
class Myengine::Mymodel
include MymodelExtension
end
Из командной строки:
Myengine::Mymodel.swear
# => "I'm not doing it again"
Если я раскомментирую included do
, я получу эту ошибку undefined method 'belongs_to' for Myengine::Mymodel:Class (NoMethodError)
.