rails条件查询搜索表单

时间:2015-05-18 18:52:19

标签: sql ruby-on-rails postgresql activerecord

如何在rails中搜索查询。我的params

"search"=>{"id"=>"1", "name"=>"selva", "item_id"=>""}

以及我尝试过的事情

User.where("id = ? AND name = ? AND item_id = ?", params["search"]["id"],params["search"]["name"],params["search"]["item_id"]) 

这里的问题是params为空时,然后是错误。那么你能告诉我什么是最好的搜索方式以及人们如何搜索表单。

1 个答案:

答案 0 :(得分:3)

像那样的东西

users = User

if params['search']
  search_data = params['search']
  users = users.where(:id => search_data['id']) if search_data['id']
  users = users.where(:name => search_data['name']) if search_data['name']
  users = users.where(:item_id => search_data['item_id']) if search_data['item_id']
end

users = users.all