这似乎是一项常见的任务,我相信其他人已经遇到过它。
如果我的控制人员这样说:
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 })
答案 0 :(得分:1)
只需在控制器中添加这个小宝贝
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'