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

ger*_*rky 6 pagination ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)

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

slh*_*hck 18

你可以在阵列上使用Kaminari:

Kaminari.paginate_array(@articles).page(params[:page]).per(5)
Run Code Online (Sandbox Code Playgroud)

文档:

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