Paginación de una colección de objetos con will_paginate
Para paginar resultados en Ruby on Rails podemos usar el plugin o gem Will_paginate.
El uso de este plugin es muy sencillo y nos permite paginar cualquier colección de elementos obtenidos de un modelo.
Para instalar la gem podemos usar el siguiente comando
sudo gem install will_paginate
Si queremos usar el plugin en vez de la gem podemos descargar el código desde github
En el controlador es donde debemos definir los parámetros de paginación y los elementos que queremos paginar. En Rails 3 podemos definirlo de la siguiente forma:
@comments = Comment .where(:condicion_ejemplo => 1) .order("created_at DESC") .paginate(:page => params[:page]), :per_page => 10)
En versiones anteriores de Rails podemos usar la instrucción find() en vez de where().
En la vista donde queramos colocar el paginador podemos usar el siguiente comando, pasándole por parámetro la colección de objetos paginados.
<%= will_paginate(@comentarios) %>