2011-07-01 14 views
29

Para paginar una matriz común Tengo esta solución,carriles 3, Kaminari paginación para una matriz simple

@arr_name = Kaminari.paginate_array (@arr_name) .página (params [: página]). Por (PER_PAGE_RECORDS)

PER_PAGE_RECORDS es una variable con el valor necesario para la paginación.

¿Alguna idea mejor?

también tener una llamada AJAX para el uso de uno de paginación puede usar esto,

En su opinión,

dar Identificación a la pestaña div

div id="paginate" 

y en su interior

<% = paginate @arr_name,: remote => true%>

.

Y en js puesto archivo de respuestas,

$ ('# paginate') html (' <% = escape_javascript (paginate (@arr_name,: retirado => true) .to_s)% > ');

Así que sus solicitudes serán AJAX.

Gracias.

+0

Formatee su código con sangría de 4 espacios o marcadores. Gracias. –

+4

¿cuál es exactamente tu problema? – Fivell

+0

@Fivell ¿No está seguro de si este es el enfoque correcto? – Roger

Respuesta

58

Este es el único método de ayuda disponible para paginar un objeto de matriz utilizando Kaminari. Otra alternativa es, como solución sugerida en kaminari wiki page, agregar los métodos de instancia al objeto de la matriz.

Si está intentando una solución común basada en el tipo de devolución ActiveModel (.all devuelve una matriz y .where devuelve ARL), a continuación se proporciona una solución alternativa.

unless @arr_name.kind_of?(Array) 
    @arr_name = @arr_name.page(params[:page]).per(PER_PAGE_RECORDS) 
else 
    @arr_name = Kaminari.paginate_array(@arr_name).page(params[:page]).per(PER_PAGE_RECORDS) 
end 
+0

gran solución :) +1 :) –

+7

Buena solución. Solo una pequeña sugerencia @Sethupathi. Es una buena práctica usar 'if else' en lugar de 'unless else' :) ¡Salud! – Ron

+0

Gran solución. ¡Muchas gracias! – fmquaglia

Cuestiones relacionadas