我在整数字段上进行分面搜索时遇到问题,这是该模型的关联记录的计数器缓存。基本上是:
Post.solr_search do
facet(:comments_count) do
row('No') { with(:comments_count).less_than 1 }
row('Yes') { with(:comments_count).greater_than 0 }
end
...
问题是,我不知道如何过滤这些行,例如
# params[:comments_count] being either 'Yes' or 'No'
with(:comments_count, params[:comments_count]) # It obviously doesn't work like this
# or
with_facet(:comments_count).row params[:comments_count]
那只是废话代码,我试图说明我在寻找什么。顺便说一句,分面查询有效,它会在标题为“否”的条目下显示没有评论的帖子,在“是”标签下标注评论。不,我想按照这个标准进行过滤。
“谷歌算法”或文档都没有帮助我。
答案 0 :(得分:0)
无法找到合适的解决方案,但猴子修补了这样:
Post.solr_search do
facet(:comments_count) do
row('No') { with(:comments_count).less_than 1 }
row('Yes') { with(:comments_count).greater_than 0 }
end
case params[:comments_count]
when 'No'
with(:comments_count).less_than 1
when 'Yes'
with(:comments_count).greater_than 0
end