诗歌rails之Anonymous Scopes

# config/initializers/global_named_scopes.rb
class ActiveRecord::Base
  named_scope 
:conditions, lambda { |*args| {:conditions => args} }
end

# models/search.rb
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


posted @ 2010-01-18 17:26  麦飞  阅读(132)  评论(0编辑  收藏  举报