Rails Kaminari - 如何对数组进行排序/分页?

7

我正在跟随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、page和per,就像在屏幕截图中一样.order("name").page(params[:page]).per(5)。 我总是收到数组中没有方法'order'的错误。 我知道我不能在数组上调用这些方法,但是还有其他方法可以链式调用它们吗?

1个回答

19

您可以在数组上使用Kaminari:

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

来自文档

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接