我正在尝试引用关联扩展名,但它出现错误:
NameError (uninitialized constant User::ListerExtension):
app/models/user.rb:2:in `<class:User>'
这是我的实施:
class User < ActiveRecord::Base
include ListerExtension
has_and_belongs_to_many :roles, :uniq => true, :extend => Lister
module ListerExtension
def lister
self.map(&:to_s).join(', ')
end
end
我正在使用Rails v3.1.3。
答案 0 :(得分:70)
安德鲁·马歇尔对自动加载设置提出了一个很好的观点(请参阅他链接的问题以获取更多信息),还有:因为您将类命名为ListerExtension
,Rails将查找名为{的文件{1}} - 不 lister_extension.rb
。这很聪明,但并不那么聪明。
希望有所帮助!