Если я напишу это, все работает нормально:
class A < ActiveRecord::Base
acts_as_taggable
end
Но если я возьму acts_as_taggable
и вставлю его в модуль, который включает класс A, я получу ошибку:
module B
def self.included(base)
base.class_eval do
extend ClassMethods
include InstanceMethods
end
end
module ClassMethods
acts_as_taggable
end
module InstanceMethods
end
end
class A < ActiveRecord::Base
include B
Ошибка из кода выше:
undefined local variable or method `acts_as_taggable' for C::ClassMethods:Module
Неправильно ли вызывать acts_as_taggable
из включенного модуля?
Должно ли оно быть в самом определении класса?