【问题标题】:ThinkingSphinx Order via URL Params通过 URL 参数的 ThinkingSphinx 订单
【发布时间】:2012-03-05 20:04:08
【问题描述】:

我在应用程序中使用 ThinkingSphinx,现在我没有对我的结果进行任何类型的排序。但是,我想通过一个链接将其设为一个选项,某人可以点击该页面,它只是通过 URL 将其传递给“刷新”页面,结果现在已排序。

在 .search 参数中,我尝试执行 :order => params[:o],然后在 URL 中传递 o=columnname,但这似乎不起作用。

请注意,当我对排序进行硬编码时,它工作正常,我在索引/使数据库列可排序时没有问题。我只是想通过一个 URL 参数使它的结果可以按顺序显示。

【问题讨论】:

    标签: ruby url sorting thinking-sphinx


    【解决方案1】:

    根据Sphinx documentation,您要用于排序的字段必须标记为可排序。用has 定义的属性不必标记,因为所有属性都是可排序的:

    class Article
      ..
      define_index do
        indexes title, :sortable => true
        indexes author(:name), :as => :author, :sortable => true
        ..
      end
    

    然后可以使用:order:sort_mode 参数来定义排序顺序:

    sort_order = params[:o]
    Article.search "pancakes", :order => sort_order, :sort_mode => :desc
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 2021-10-29
      • 2014-05-22
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2021-09-20
      相关资源
      最近更新 更多