这是我的关注文件:controllerconcerns.rb
require 'active_support/concern'
module Query_scopes
extend ActiveSupport::Concern
has_scope :title
end
这是我的控制器,我希望将其包含在:api_controller.rb
中class ApiController < ApplicationController
require 'concerns/controllerconcerns'
include Query_scopes
etc etc etc
以下是我遇到的错误:
undefined method `has_scope' for Query_scopes:Module
我已经安装了 has_scope gem,如果我只想在我想要应用的每个控制器中说'has_scope: scopename'
,它工作正常...那么我怎样才能应用几行&#39; has_scope&#39;代码到我的所有控制器?
答案 0 :(得分:6)
您应遵循使用问题的命名约定,并在included do
块中包含您想要的内容:)
例如
module QueryScopes
extend ActiveSupport::Concern
included do
has_scope :title
end
end
然后:
class ApiController < ApplicationController
include QueryScopes
end