カテゴリ列とサイズ列を持つリスティング モデルがあります。各カテゴリには、サイズの配列があります。サイズ配列に対応する各カテゴリのリストのみを返したいです。(params[:designer]で条件としてデザイナーの配列も持っています。)
パラメータハッシュ:
params[:category] => ['tops', 'bottoms', 'outerwear', 'footwear']
params['tops'] => ['M', 'L']
params['bottoms'] => []
params['outerwear'] => ['XL']
params['footwear'] => ['11', '12']
これを行うためのループを作成しました:
@listings = []
params[:category].each do |category|
@listings += Listing.where(category: category, size: params[category], designer: params[:designer], sold: nil).includes(:photos).page(params[:category_page]).per(@perpage)
end
しかし、kaminari gem (.page 呼び出し) を使用してページ付けしているため、すべてを 1 つのクエリにする必要があります。