Will_paginate :limit

Hola a todos,
estoy utilizando el plugin will_paginate:

@articles = Article.paginate(:all, :per_page => 10, :page =>
params[:page])

Pero sólo quiero recoger los 20 primeros artúculos:

@articles = Article.paginate(:all, :limit => 20, :per_page => 10, :page
=> params[:page])

Pero no funciona, ¿Alguien sabe porque?

Gracias de nuevo.

hola,

Pero sólo quiero recoger los 20 primeros artúculos:

@articles = Article.paginate(:all, :limit => 20, :per_page => 10, :page
=> params[:page])

Pero no funciona, ¿Alguien sabe porque?

básicamente will_paginate lo que hace es lanzar un find al que le pone
los parámetros :limit y :offset, por lo que si tú le pasas el parámetro
:limit, él lo sobreescribe con lo que tengas en el parámetro :per_page

Si en tu caso necesitas paginar de 10 en 10 sobre los primeros 20
registros, podrías lanzar la query de los 20 registros con un find
normal, y después paginar sobre ese resultado usando
WillPaginate::Collection.create

Si estuviésemos hablando de muchos registros sobre los que paginar, no
es la mejor solución del mundo porque para crear la collection tiene que
cargar primero todos los registros y luego paginar en memoria sobre
ellos (mientras que con el limit/offset se cargan de la base de datos
solamente los registros necesarios), pero para 20 filas no parece mala
idea.

saludos,

javier ramírez

El dom, 24-02-2008 a las 21:24 +0100, Mario S. escribió:

Hola a todos,
@articles = Article.paginate(:all, :per_page => 10, :page =>
params[:page])
pues según la documentación de will_paginate el plugin funciona bien.
Tu le estás pasando un parámetro, :per_page, y le dices que quieres 10
resultados (los que will_paginate retira de la páinga). Si
cambias :per_page => 10 a :per_page => 20 tendrás 20 resultados:



@articles = Article.paginate(:all, :per_page => 20, :page =>
params[:page])

Un Saludo.

Guillermo [email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs