質問

Railsで名前のスコープを作成できることを知っています。これにより、後で構築できる条件を指定できます。

named_scope :active, :conditions => {:active => true}

...

MyModel.active.find(...)

これは、後から評価されないプロキシオブジェクトを作成することで機能します。私が知りたいのは、ダイナミクスを作成することが可能かどうかです 国連名前付きスコープ?

つまり、私が行くことができる方法「foo」はありますか

scope = MyModel.foo(:conditions => {:target_id => 4})

そして、合格します scope 私がもっとできるプロキシオブジェクトとして .findsまたは他のスコープコールは?

役に立ちましたか?

解決

はい、チェックしてください 匿名のスコープ:

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top