Я пытаюсь расширить модель рельсов из драгоценного камня.Неопределенный метод принадлежит_сортировать Rails, почему?
Использование озабоченность Я был в состоянии расширить методы класса, но я не могу расширить ассоциации. included do
возвращение undefined method belongs_to
. Я думаю, что Rails не может загрузить класс правильно ...
модели находится в двигателе, и я пытаюсь получить к нему доступ из моей жемчужины.
Вот код:
# 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)
.
Один вопрос: если я делаю 'класс Spina :: PagePart
@ a.barbieri нет такой вещи, как расширение класса в Ruby. Вы наследуете. Любые методы, определенные в вашем классе (если по ЛЮБЫМ шансам они также определены в «AR :: Base») имеют приоритет, поэтому не стоит беспокоиться –