web-dev-qa-db-ja.com

rails 3、単純な配列のKaminariページネーション

一般的な配列をページ分割するために、私はこの解決策を得ました、

@arr_name = Kaminari.paginate_array(@arr_name).page(params [:page])。per(PER_PAGE_RECORDS)

PER_PAGE_RECORDSは、ページ付けに必要な値を持つ変数です。

より良いアイデアはありますか?

また、ページネーションを使用するためのajax呼び出しを行うには、これを使用できます。

あなたの見解では、

あなたのdivタブにIDを与える

div id="paginate"

そしてその中に

<%= paginate @arr_name、:remote => true%>

そしてjs応答ファイルに入れて、

$( '#paginate')。html( '<%= escape_javascript(paginate(@arr_name、:remote => true).to_s)%>');

したがって、リクエストはAJAXになります。

ありがとう。

33

これは、Kaminariを使用して配列オブジェクトにページ番号を付けるために使用できる唯一のヘルパーメソッドです。別の方法として、 kaminari wiki page で提案されている解決策のように、インスタンスオブジェクトを配列オブジェクトに追加します。

ActiveModelの戻り値の型(.allは配列を返し、.whereはARLを返す)に基づいた一般的な解決策を試している場合は、次の回避策を実行します。

unless @arr_name.kind_of?(Array)
  @arr_name = @arr_name.page(params[:page]).per(PER_PAGE_RECORDS)
else
  @arr_name = Kaminari.paginate_array(@arr_name).page(params[:page]).per(PER_PAGE_RECORDS)
end
65
Sethupathi