2012-08-05 17 views
5

Estoy siguiendo los rieles de Kaminari (http://railscasts.com/episodes/254-pagination-with-kaminari). Pero estoy atascado con la parte del controlador.Rails Kaminari - ¿Cómo ordenar/paginar matrices?

En mi controlador, que tienen algo como esto:

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 

Y ahora no estoy seguro de cómo la cadena de métodos, orden, por página y, al igual que en el screencast .order("name").page(params[:page]).per(5). Sigo recibiendo el 'orden' sin método en Array. Sé que no puedo llamar a los métodos en matrices, pero ¿cómo puedo encadenarlos?

Respuesta

17

Puede utilizar Kaminari en matrices:

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

Desde el documentation:

Kaminari proporciona una clase contenedora de matriz que se adapta un objeto Array genérica al paginate ayudante de vista. Sin embargo, el helper paginate no maneja automáticamente su objeto Array (esto es intencional y por diseño). El método Kaminari::paginate_array convierte su objeto Array en una matriz paginable que acepta el método page.

+0

trabajado como un encanto! – maru