我正在关注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'。我知道我不能在数组上调用方法,但我怎么能把它们链接起来呢?
答案 0 :(得分:18)
你可以在阵列上使用Kaminari:
Kaminari.paginate_array(@articles).page(params[:page]).per(5)
Kaminari提供了一个Array包装类,可以将通用Array对象适配到
paginate
视图助手。但是,paginate
帮助程序不会自动处理您的Array对象(这是故意的并且是设计的)。Kaminari::paginate_array
方法将您的Array对象转换为可接受page
方法的可分页数组。