1

productsデータベースから取得するための次のハッシュ条件があります。

@products = Product.where(category: @category, color: params[:color], brand_id: params[:brand], size: params[:size]).

1 つ以上の条件が指定されていない場合にクエリ結果を取得する方法はありますparams[:color]か。

4

4 に答える 4

2

私はtechvineetの答えに基づいています(編集が面倒になりました)。

これを試して:

# This line throws away the :action and :controller arguments
params.except!(:action, :controller) # notice the ! now
params.delete_if {|k,v| v.nil?} # throw out any empty args
params[:category] = @category
@products = Product.where(params)
于 2013-09-16T11:52:34.190 に答える
2

次のようなものを使用することもできます:-

params.except(:action, :controller)
params[:category] = @category
@products = Product.where(params)
于 2013-09-16T09:44:02.803 に答える
1

Periscope gemを試すことができます

またはランサック

于 2013-09-16T09:25:08.993 に答える