一般的な配列をページ分割するために、私はこの解決策を得ました、
@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になります。
ありがとう。
これは、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