質問

私はページ区切りの形式でコレクションを表示するには、will_paginate宝石を使用しています。今、私は、ビュー内のリストの列で機能をソートしたいのですが。私はこれを確立するために独自のカスタムメカニズムを追加しましたが、それは、これを行うwill_paginateのシンプルさと優雅さを活用するための標準的な方法が存在しない場合は疑問に私を残しました。

役に立ちましたか?

解決

はい、それを行うためのエレガントな方法があります。 ujs_sort_helperを使用します。あなたは、より詳細ここ

見つけることができます

他のヒント

searchlogic のプラグでうまくwill_paginate有する。

それはあなたのようにしている検索が聞こえるが、すべてのものを示すことは、検索のためだけの特別なケースではありません。あなただけの並べ替え機能を使用すると、あなたのデータをフィルタリングしたくない場合は、残りの部分を無視することができます。

のJavaハットのsortable_table
破ったために行きます。これは素晴らしいレールのプラグインです。本当に簡単にセットアップする。

私は両方のソートやページングを実装しました以前のプロジェクトで、私はソートを処理するためにwill_paginateを使用しながら、overwrite_paramsハンドルにページングを聞かせてきました。

例えば(仮定テーブル)

<tr>
  <th><%= link_to "ID", overwrite_params(:sort => "id", :page => 1) %></th>
  <th><%= link_to "Name", overwrite_params(:sort => "name", :page => 1) %></th>
</tr>
<tr>
  ... information ...
</tr>
overwrite_paramsが、それはあなたが値を指定で上書き既存のparamsで現在のURLをバック与える、または任意の以前に存在しない値がURLに挿入された...あなたはそれがないと思うだろうかを正確に行います。

will_paginateはすでに(オプションである)、あなたはまた、ハンドルにそれをハッキングすることなく、overwrite_paramsの恩恵を引き続き使用することを得ることを意味1にすることで、ページをリセットすると一緒に列ヘッダーにwill_paginateを使用して、任意のURL paramsはを保存しているのであなたの並べ替えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top