Rails Kaminari - 如何订购/分页数组?

时间:2012-08-05 16:33:19

标签: ruby-on-rails pagination kaminari

我正在关注Kaminari的railscast(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

现在我不知道如何链接方法,顺序,页面和每个,就像在截屏视频.order("name").page(params[:page]).per(5)中一样。我继续在Array中获得no方法'order'。我知道我不能在数组上调用方法,但我怎么能把它们链接起来呢?

1 个答案:

答案 0 :(得分:18)

你可以在阵列上使用Kaminari:

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

来自documentation

  

Kaminari提供了一个Array包装类,可以将通用Array对象适配到paginate视图助手。但是,paginate帮助程序不会自动处理您的Array对象(这是故意的并且是设计的)。 Kaminari::paginate_array方法将您的Array对象转换为可接受page方法的可分页数组。