这似乎是一项常见的任务,我相信其他人也遇到过。
如果我的 Controller 这样说:
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 })
最佳答案
只需将这个小宝贝添加到您的 Controller 中即可
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'
关于ruby-on-rails - 更改参数以使用 rails 和 sunspot 进行搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3560046/