Cod*_*ama 45 ruby ruby-on-rails ruby-on-rails-3.1
我试图引用一个关联扩展,但它错误:
NameError (uninitialized constant User::ListerExtension):
app/models/user.rb:2:in `<class:User>'
Run Code Online (Sandbox Code Playgroud)
这是我的实现:
class User < ActiveRecord::Base
include ListerExtension
has_and_belongs_to_many :roles, :uniq => true, :extend => Lister
Run Code Online (Sandbox Code Playgroud)
module ListerExtension
def lister
self.map(&:to_s).join(', ')
end
end
Run Code Online (Sandbox Code Playgroud)
我正在使用Rails v3.1.3.
Xav*_*olt 76
安德鲁马歇尔关于自动加载设置有一个很好的观点(请参阅他链接的问题以获得更多信息),还有:因为你命名了你的类ListerExtension,Rails将寻找一个名为lister_extension.rb- not 的文件lister.rb.这很聪明,但并不那么聪明.
希望有所帮助!