更改轨道和黑子的搜索参数
-
01-10-2019 - |
题
这似乎是一项常见的任务,我敢肯定其他人已经遇到过。
如果我的控制器这样说:
def index
s = Sunspot.search Organization do |query|
query.keywords params[:q] unless params[:q].blank?
query.with(:searchable).equal_to(params[:filter_by] == 'published' ? 'true' : false) if params[:filter_by]
..
我如何:
..通过链接,使其更改 query.with(:searchable)
对 query.with(:has_no_deals)
?
这是我的入门链接不起作用,因为旧 query.with(:searchable)
没有被覆盖:
= link_to 'Has No Deals', url_for(:overwrite_params => { :filter_by => 'dfgsdgsdf', :page => nil })
解决方案
只需将这个小宝宝加入您的控制器
query.with(:searchable).equal_to(params[:filter_by] == 'published' ? 'true' : false) if params[:filter_by] == ( 'published' || 'unpublished' )
query.with(:has_no_deals).equal_to(params[:filter_by] == 'has_no_deals' ? 'true' : false) if params[:filter_by] == 'has_no_deals'
不隶属于 StackOverflow