7

カミナリのレールキャスト(http://railscasts.com/episodes/254-pagination-with-kaminari)をフォローしています。しかし、私はコントローラーの部分で立ち往生しています。

私のコントローラーには、次のようなものがあります。

def index
  @articles = (params[:mine] == "true") ? current_user.articles : Article.search(params[:search])

  respond_to do |format|
    format.html
    format.json { render json: @articles }
  end
end

そして今、スクリーンキャストのように、メソッド、順序、ページ、およびperをチェーンする方法がわかりません.order("name").page(params[:page]).per(5)。配列でnoメソッド'order'を取得し続けます。配列のメソッドを呼び出せないことは知っていますが、他にどのようにそれらをチェーンできますか?

4

1 に答える 1

19

配列でKaminariを使用できます。

Kaminari.paginate_array(@articles).page(params[:page]).per(5)

ドキュメントから:

Kaminariは、汎用Arrayオブジェクトをpaginateビューヘルパーに適合させるArrayラッパークラスを提供します。ただし、paginateヘルパーはArrayオブジェクトを自動的に処理しません(これは意図的であり、仕様によるものです)。Kaminari::paginate_arraymethodは、Arrayオブジェクトをpageメソッドを受け入れるページング可能な配列に変換します。

于 2012-08-05T16:36:24.583 に答える