在我的项目中,我试图根据用户选择显示产品。用户可以查看他们希望看到的部门(女性,男性和儿童)和类别(连衣裙,上衣,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
请帮助我。
这里是:
@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
有关详细信息,请参阅:太阳黑子自述文件