我在available
模型上有一个Product
属性,它是一个布尔值。
我正在定义一个带参数的辅助方法,例如:
def family_products(available: true)
Product.where(available: available)
end
这适用于true
或false
- 但我希望默认为all
。
是否可以不创建条件包装器?
答案 0 :(得分:2)
我会在scope
模型中定义Product
。
class Product < ActiveRecord::Base
scope :all_family_products, -> { where('available = ? or available = ?', true, false) }
end
现在调用Product.all_family_products
会返回 可用产品(可用= true) 和 不可用产品(可用= false) 强>
答案 1 :(得分:0)
试试这个:
def family_products(available: [true, false])
Product.where(available: [available])
end