在一些模型中使用了一些范围,我想在模块中移动以便混合它。可能吗?我使用Rails 4,并尝试使用以下代码:
module ExistingScoping
scope :existing, -> { ... }
end
但我有错误:
undefined method `scope' for ExistingScoping:Module
我该如何解决?提前致谢。
答案 0 :(得分:2)
您可能想查找ActiveRecord::Concerns
-
#app/models/concerns/existing_scoping.rb
module ExistingScoping
extend ActiveSupport::Concern
included do
scope :existing, -> { ... }
end
end
#app/models/model.rb
Class Model < ActiveRecord::Base
include ExistingScoping
end