重构类方法到rails 4范围

时间:2014-09-25 15:52:46

标签: ruby-on-rails scope named-scope

我有以下方法,我想转移到命名范围

def self.running_promotion
  Supplier.all.select { |s| s.has_running_promotion? == true }
end

不确定如何将lambda与rails 4范围一起使用,或者是否可行。我试过了

scope :on_sale, -> { where({ |s| s.has_running_promotion? == true }) }

1 个答案:

答案 0 :(得分:1)

如果表格中有has_running_promotion字段,您可以写:

scope :on_sale, -> { where(has_running_promotion: true) }