Daily Archives for Miércoles, Enero 2008

Will_paginate plugin

Quizás mucha gente debe conocer este plugin para añadir paginación a nuestras aplicaciones Rails, pero he pensado en hacer este artículo para compartirlo con los que aún no lo conocen.

Recientemente con Rails 2.0 se ha quitado la opción de paginación (Paginator) que había ya que según ellos era muy lenta y no estaban satisfechos. Por tanto ahora hemos de buscarnos la vida para hacer paginación en nuestras consultas.

Existe el plugin will_paginate que resuelve la problemática de forma muy sencilla. Para encontrar toda la información y documentación podemos ir a la página de Errtheblog dedicada a este.

Para instalarlo ( desde el directorio de la aplicación):

script/plugin install svn://errtheblog.com/svn/plugins/will_paginate

Su uso es muy sencillo ya que sólo tenemos que usar en el controlador una instrucción como:

 

@posts = Post.paginate :page => params[:page], :per_page => 50

Esto se traducirá que cuando llame a una página nueva añadirá a la ruta ?page=x automáticamente. No hay que tocar las rutas para nada lo hace automáticamente.

y en la vista añadir:

<%= will_paginate @posts %>

Para mostrar los enlaces a las páginas.

Como veis es muy sencillo y además dispone de otros métodos que emulan cualquier llamada que pendiésemos hacer con el método find:

  • find —> paginate
  • find_by_id –> paginate_by_id
  • find_by_sql –> paginate_by_sql

Especialmente está última me ha hecho muy fácil en L-exp hace una paginación en unas consultas muy complejas. Todo de forma trivial.

Si migráis a Rails 2.0 y ya lo habéis estado utilizando volver a instalarlo con el parametro –force para que lo actualice. En mi caso arreglo algún problema que tenía.

Popularity: 2% [?]

Get Adobe Flash playerPlugin by wpburn.com wordpress themes