我希望将其他查询链接到模型中的范围。范围在一个问题中定义。
module Companyable
extend ActiveSupport::Concern
included do
scope :for_company, ->(id) {
where(:company_id => id)
}
end
end
class Order < ActiveRecord::Base
include Companyable
# I'd like to be able to do something like this:
scope :for_company, ->(id) {
super(id).where.not(:status => 'cancelled')
}
end
然而,这可以理解地引发NameError: undefined method 'for_company' for class 'Order'
答案 0 :(得分:1)
以下是我提出的解决方案:
而不是sed -i 's/sometext/replacetext/g' *.php
,只需要使用常规类方法,因为scope
只是&#34;语法糖&#34;对于一个类方法。当您需要使用scope
覆盖时,这更容易处理。在你的情况下,它看起来像这样:
super