2011-11-18 20 views
41

La mia configurazione: Rotaie 3.0.9, Ruby 1.9.2Rails 3 impaginazione, will_paginate vs. Kaminari

sto cercando in una soluzione di impaginazione per la mia app e ho visto che c'è una gemma nuova-ish Kaminari rispetto al fidato will_paginate. Sembra che will_paginate non sia stato aggiornato per un po ', ma da allora è tornato con la versione 3.0. Qual è il consenso, è uno preferito rispetto all'altro e perché? Grazie in anticipo per i tuoi approfondimenti.

EDIT

ho chiesto Ryan Bates su Twitter e disse

Sia fare il lavoro altrettanto bene. Il più grande fattore è se si utilizzano gemme che richiedono l'impaginazione poiché non sono compatibili. Mi piace l'approccio non-engine di will_paginate un po 'di più, ma questa è una preferenza personale .

risposta

19

Mi piace molto Kaminari. Non so se will_paginate fa questo, ma posso anche Kaminari impaginare qualsiasi regolare vecchi Array:

ci sono Railscasts per entrambi, che vi consiglio di guardare.

14

guardare il kaminari railscast un poi guardare il will paginate railscast

Ryan Bates consiglia nei commenti che Kaminari fa uso pesante di parziali, che potrebbero rendere in frazioni più lento, ma non molto

+11

riguardo alle prestazioni: la navigazione attraverso 100K + voci rende inutilizzabile will_paginate lento. kaminari tuttavia rimane veloce. – thedanielhanke

+7

@thedanielhanke - Puoi indicare prove/motivi per questo? – Yarin

27

Kaminari Rocks se si utilizza rotaie 3+, mi piace usarlo perché

  1. È l'ultima libreria e supporta i binari 3+ con potenza.
  2. 'Kaminari' è facile da usare e supporta ajax molto facilmente.
  3. Paginare puro Oggetto modo.
  4. Funziona come un proxy sul AREL, nessun metodo paginate specifica sovraccarico su ActiveRecord
  5. Non inquina l'oggetto Array o Hash
  6. Più guide standard il supporto per altri formati di visualizzazione, più importante cellulare

    User.page(7).per(50) 
    

    ma se si utilizza rotaie 2.3 ecc tenere il bastone con will_paginate che funziona anche con le rotaie 3 +, ma internamente la sua non così perfetta come codice Kaminari.

1

ho usato entrambe le gemme, e francamente, mi piace Kaminari meglio. È così facile da usare. Non ho riscontrato problemi di prestazioni o problemi ambientali (la mia app vive su Heroku).

1

Mentre will_paginate esegue il lavoro abbastanza rapidamente, Kaminari consente anche di modificare rapidamente l'output HTML di impaginazione.

Questa è stata una grande cosa per me, dal momento che sto usando Bootstrap 3 e volevo usare gli stili di paginazione di default.

C'è un gioiello per will_paginate che ti permette di fare lo stesso, ma Kaminari è molto più flixible

Problemi correlati