Ruby on rails 3 如何编写搜索方法代码以一次搜索多个id

Ruby on rails 3 如何编写搜索方法代码以一次搜索多个id,ruby-on-rails-3,solr,sunspot-rails,sunspot-solr,Ruby On Rails 3,Solr,Sunspot Rails,Sunspot Solr,在我的项目中,我试图根据用户的选择来展示产品。用户可以查看他们希望看到的部门(女性、男性和儿童)和类别(连衣裙、上衣、T恤等)。为此,我使用复选框。如果用户仅选中(选择)女性部门,则会显示属于女性的所有产品。如果用户同时选中(选择)女性部门和服装类别,则将显示同时属于女性部门和服装类别的产品。如果用户同时选择男女部门和鞋子类别,则将显示属于男女部门和鞋子类别的所有产品。为了实现这一点,我使用太阳黑子宝石。我的问题是我们能否同时传递部门id和类别id的多个id 例如,是否有可能 @search_r

在我的项目中,我试图根据用户的选择来展示产品。用户可以查看他们希望看到的部门(女性、男性和儿童)和类别(连衣裙、上衣、T恤等)。为此,我使用复选框。如果用户仅选中(选择)女性部门,则会显示属于女性的所有产品。如果用户同时选中(选择)女性部门和服装类别,则将显示同时属于女性部门和服装类别的产品。如果用户同时选择男女部门和鞋子类别,则将显示属于男女部门和鞋子类别的所有产品。为了实现这一点,我使用太阳黑子宝石。我的问题是我们能否同时传递部门id和类别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不是静态的。我将仅在用户在运行时选择时才开始。表示类别id和部门id是通用的。如何做到这一点。我想要这样的东西

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

这是:

@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
有关更多信息,请参阅: