我注意到了concern
rails4 的新特性,我在http://edgeapi.rubyonrails.org/classes/ActiveSupport/Concern.html中阅读了它的文档。但它似乎不像我预期的那样工作。这是我的代码/models/concerns/current_user.rb
。
require 'active_support/concern'
module CurrentUser
extend ActiveSupport::Concern
module ClassMethods
def accessor_current_user
attr_accessor :current_user
end
end
end
class ActiveRecord::Base
include CurrentUser
end
您可能注意到我的代码的最后 3 行,那是因为我希望我的所有模型都可以调用该方法,我认为这可能是实现这一目标的好方法。但是当我启动 Rails 服务器时,它就是无法调用该accessor_current_user
方法。所以我对此感到困惑。我真的不知道原因。希望可以有人帮帮我。:)
更新!最后,我发现这可能是在初始化程序折叠中创建一个ActiveRecord::Base
类的好方法,然后在类中包含 CurrentUser。