[英]Include a concern module in a rails controller
这是我关心的文件: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'
,它会很好地工作,那么如何将几行“ has_scope”代码应用于所有控制器?
您应该遵循使用关注点的命名约定,并在included do
块中包括您想要的内容:)
例如。
module QueryScopes
extend ActiveSupport::Concern
included do
has_scope :title
end
end
接着:
class ApiController < ApplicationController
include QueryScopes
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.