2012-03-05 7 views
0

私はThinkingSphinxをアプリケーションで使用していますが、今は結果に対してどんなタイプの注文もしていません。しかし、私は誰かがこのページ上でクリックできるリンクを介してこれをオプションにしたいと思っています。ThinkingSphinx URLで注文Params

.searchパラメータでは、:order => params[:o]を実行して、URLにo=columnnameを渡しましたが、動作しないようです。

私はハードコーディングで正常に動作しますが、DB列をソート可能にすることは問題ありません。私はちょうど結果を順序付けられた表示することができるURL引数を介してそうするようにしたいと思います。

答えて

1

Sphinx documentationによれば、ソートに使用するフィールドにはソート可能とフラグを付けなければなりません。

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

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

はその後1は、ソー​​ト順を定義するために:order:sort_modeパラメータを使用することができます。すべての属性がソート可能であるため、hasで定義された属性は、フラグを付ける必要はありません。