ruby on rails - per - Rails 3 pagination, will_paginate vs. Kaminari
rails will_paginate per page (5)
Mi configuración: Rails 3.0.9, Ruby 1.9.2
Estoy buscando una solución de paginación para mi aplicación y vi que hay una nueva gema Kaminari
comparada con la fiel will_paginate
. Parece que will_paginate
no se actualizó por un tiempo, pero desde entonces ha vuelto con V3.0. ¿Cuál es el consenso, es uno preferido sobre el otro y por qué? Gracias de antemano por sus ideas.
EDITAR
Le pregunté a Ryan Bates en Twitter y él dijo
Ambos hacen el trabajo igualmente bien. El factor más importante es si usa gemas que requieren paginación ya que son incompatibles. Me gusta el enfoque no motor de will_paginate un poco más, pero esa es una preferencia personal.
He usado ambas Gemas, y francamente, me gusta más Kaminari. Es tan fácil de usar No he visto ningún problema de rendimiento o problemas de entorno (mi aplicación vive en Heroku).
Mientras que will_paginate hace el trabajo bastante rápido, Kaminari también te permite editar rápidamente la salida HTML de paginación.
Esto fue algo grandioso para mí, ya que estoy usando Bootstrap 3, y quería usar los estilos de paginaciones predeterminados.
Hay una gema para will_paginate que te permite hacer lo mismo, pero Kaminari es mucho más flixible
Realmente me gusta Kaminari. No sé si will_paginate hace esto, pero Kaminari también puede paginar cualquier Array
antiguo normal:
Kaminari.paginate_array(an_array).page params[:page]
Hay Railscasts para ambos, que recomiendo ver.
mira el kaminari railscast y luego mira la voluntad paginar railscast
Ryan Bates informa en los comentarios que Kaminari hace un uso más intenso de los parciales, lo que puede hacer que sea un poco más lento, pero no mucho
Kaminari Rocks si usas rails 3+, me gusta usarlo porque
- Es la última biblioteca y soporta raíles 3+ con fuerza.
- ''Kaminari'' es fácil de usar y admite
ajax
muy fácilmente. - Paginate pure Object way.
- Funciona como un proxy en AREL, no hay un método de paginación específico sobrecargado en ActiveRecord
- No contamina el objeto Array o Hash
Soporte de rieles más estándar para otros formatos de visualización, el móvil más importante
User.page(7).per(50)
Pero si usa raíles 2.3, etc., siga con will_paginate que también funciona con rieles 3 +, pero internamente no es tan perfecto como el código de Kaminari.