【问题标题】:Changing params for search with rails and sunspot使用rails和sunspot更改搜索参数
【发布时间】:2010-08-24 19:01:47
【问题描述】:

这似乎是一项常见的任务,我相信其他人也遇到过。

如果我的控制器这样说:

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 })

【问题讨论】:

    标签: ruby-on-rails ruby solr sunspot


    【解决方案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'
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-17
      • 2013-09-19
      • 1970-01-01
      相关资源
      最近更新 更多