レールに *un *という名前のスコープを作成できますか?
-
19-09-2019 - |
質問
Railsで名前のスコープを作成できることを知っています。これにより、後で構築できる条件を指定できます。
named_scope :active, :conditions => {:active => true}
...
MyModel.active.find(...)
これは、後から評価されないプロキシオブジェクトを作成することで機能します。私が知りたいのは、ダイナミクスを作成することが可能かどうかです 国連名前付きスコープ?
つまり、私が行くことができる方法「foo」はありますか
scope = MyModel.foo(:conditions => {:target_id => 4})
そして、合格します scope
私がもっとできるプロキシオブジェクトとして .find
sまたは他のスコープコールは?
解決
はい、チェックしてください 匿名のスコープ:
def find_products
scope = Product.scoped({})
scope = scope.conditions "products.name LIKE ?", "%#{keywords}%" unless keywords.blank?
scope = scope.conditions "products.price >= ?", minimum_price unless minimum_price.blank?
scope = scope.conditions "products.price <= ?", maximum_price unless maximum_price.blank?
scope = scope.conditions "products.category_id = ?", category_id unless category_id.blank?
scope
end
所属していません StackOverflow