我不确定我在这里做错了什么,我在lib/acts_as_votable.rb
中有一个文件,它只是该应用程序的可选系统。
module ActsAsVotable
end
module ActiveRecord
class Base
class << self
cattr_accessor :votable
def acts_as_votable
has_many :votes, :as => :voteable
end
def votable?
method_defined? :votes
end
end
def votable?
self.class.send(:method_defined?, :votes)
end
end
end
但似乎模块永远不会加载:
undefined local variable or method `acts_as_votable' for #<Class:0x00000101796d80>
加载模块的正确方法是什么?
答案 0 :(得分:2)
您可以将扩展名放在config/initializers
目录中,以便Rails自动预加载它们。
答案 1 :(得分:0)
不确定OP所需的功能是否与配置有关。要在/ lib中加载文件,可以将以下内容添加到/config/application.rb:
config.autoload_paths += %W(#{config.root}/lib/)