2011-11-18 25 views
41

Mi configuración: Carriles 3.0.9, Ruby 1.9.2Rails 3 de paginación, will_paginate vs Kaminari

Estoy buscando en una solución de paginación para mi aplicación y vieron que no es una joya nueva-ish Kaminari compararon al 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

me preguntó Ryan Bates en Twitter y dijo

Ambos hacen el trabajo igual de bien. El factor más importante es si usa cualquier gema que requiera paginación ya que son incompatibles. Me gusta el enfoque sin motor will_paginate un poco más, pero esa es una preferencia personal .

Respuesta

19

Me gusta mucho Kaminari. No sé si will_paginate hace esto, pero también puedo Kaminari paginate cualquier edad normal Array:

Hay Railscasts por tanto, que recomiendo ver.

14

ver el kaminari railscast una continuación, ver el will paginate railscast

Ryan Bates informa en los comentarios que Kaminari hace un mayor uso de parciales, lo que podría hacer que sea marginalmente más lento, pero no mucho

+11

respecto al rendimiento: navegar a través de 100k + entradas will_paginate hace inutilizable lento. kaminari sin embargo se mantiene rápido. – thedanielhanke

+7

@thedanielhanke - ¿Puedes indicar pruebas/razones para esto? – Yarin

27

Kaminari Rocas si está utilizando Rieles 3+, me gusta usarlo porque

  1. Es la última biblioteca y admite raíles 3+ con fuerza.
  2. 'Kaminari' es fácil de usar y es compatible con ajax muy fácilmente.
  3. Paginate pure Objeto manera.
  4. Funciona como un proxy en AREL, ningún método paginate específica sobrecargado en ActiveRecord
  5. no contamina el array o hash objeto
  6. Más raíles estándar de soporte para otros formatos de visualización, más importante móvil

    User.page(7).per(50) 
    

    Pero si está utilizando raíles 2.3 etc., siga con will_paginate que también funciona con raíles 3 +, pero internamente no es tan perfecto como el código de Kaminari.

1

He usado ambas gemas, y francamente, me gusta mejor 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).

1

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 una gran cosa para mí, ya que estoy usando Bootstrap 3, y quería utilizar los estilos de paginaciones predeterminadas.

Hay una joya para will_paginate que le permite hacer lo mismo, pero Kaminari es mucho más flixible

Cuestiones relacionadas