2012-08-05 90 views
5

我正在關注Kaminari的railscast(http://railscasts.com/episodes/254-pagination-with-kaminari)。但我堅持控制器部分。Rails 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'。我知道我不能調用數組上的方法,但我還能如何鏈接它們?

回答

17

您可以在陣列,可以使用雷:

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

documentation

雷提供了適應通用數組對象paginate視圖助手Array封裝類。但是,paginate幫助程序不會自動處理您的Array對象(這是故意的和設計)。 Kaminari::paginate_array方法將您的Array對象轉換爲可接受page方法的可分頁數組。

+0

工作就像一個魅力! – maru 2012-08-05 16:55:31