0

私のプロジェクトでは、ユーザーの選択に基づいて製品を表示しようとしています。ユーザーは、どの部門(女性、男性、子供)とカテゴリ(ドレス、トップス、Tシャツなど)を見たいかを確認できます。このためにチェックボックスを使用しています。ユーザーが女性部門のみをチェック(選択)すると、女性に属するすべての製品が表示されます。ユーザーが女性部門とドレスカテゴリの両方をチェック(選択)すると、女性部門とドレスカテゴリの両方に属する製品が表示されます。ユーザーが女性と男性の両方の部門と靴のカテゴリを選択すると、女性と男性の部門と靴のカテゴリに属する​​すべての製品が表示されます。これを実現するには、solr(黒点宝石)を使用します。私の質問は、department_idとcategory_idに同時に複数のIDを渡すことができるかどうかです。

たとえば、

@search_res=ProductDetail.search do
  with :department_id, 1,2,3                  
  with :category_id, 1,2,3,4, etc (may be present or absent)           
end

可能であれば、その方法を教えてください。構文を教えてください。私を助けてください。

アップデート

Salilに回答していただきありがとうございますが、この場合、部門IDとカテゴリIDは静的ではありません。ユーザーが実行時に選択した場合にのみアクセスします。category_idとdepartment_idが総称であることを意味します。これを達成する方法。こんなもの欲しい

@search_res=ProductDetail.search do
  with :department_id, params[:deptid]                  
  with :category_id,   params[:catid]         
end

私を助けてください。

4

1 に答える 1

1

ここにあります:

@search_res=ProductDetail.search do
  all_of do
    with :department_id, [1,2,3]                  
    with :category_id, [nil,1,2,3,4] # I am not sure - but category_id nil should be to denote its absence 
  end
end

詳細については、以下を参照してください: sunspot readme

于 2012-06-05T06:13:24.247 に答える