0
我有一個簡單的搜索操作,它有3個參數和一個where方法來搜索模型。如果我搜索並且某些參數爲零,它將不會返回我想要的記錄。我希望它只通過使用不爲零/空白的參數來搜索數據庫。因此,如果只輸入一個類別並在參數中發送,我希望我的控制器忽略其他兩個參數。但是,如果其他參數存在,我希望它們包含在搜索中。搜索忽略某些空白參數
我已經嘗試了很多方法,但我無法讓它正常工作。這是我的代碼。
hash = []
cat = :category_id => params[:category_id]
col = :color_id => params[:color_id]
brand = :brand_id => params[:brand_id]
if params[:category_id].present?
hash += cat
end
if params[:color_id].present?
hash += col
end
if params[:brand_id].present?
hash += brand
end
@results = Piece.where(hash).preload(:item).preload(:user).group(:item_id).paginate(:page => params[:page], :per_page => 9)
我已經把變量轉換爲字符串和hashs,叫to_a,用加入了他們( 「」)。什麼都沒有
謝謝
很好用!謝謝! – Dol
正是我所尋找的,如此美麗的小:) –