2012-05-04 10 views
16

Sto iterando attraverso una vasta serie di oggetti del modello e ho bisogno di impaginare per motivi di prestazioni/memoria.Come ottenere il conteggio delle pagine utilizzando Kaminari

voglio fare qualcosa di simile:

for i in 1..Person.num_pages 
    Person.page(i).each do 
    # work 
    end 
end 

Ovviamente posso ottenere il conteggio e fare la matematica me stesso, ma c'è un equivalente di NUM_PAGES? O c'è un modo più elegante di farlo del tutto?

risposta

34

Sì, è possibile utilizzare total_pages (o num_pages nella versione precedente alla 0.14.0) per recuperare il numero totale di pagine nel modello.

Ad esempio:

@blog_entries = Blog.all.page(1).per(20) 
puts "total pages: #{@blog_entries.total_pages}" 
+5

'num_pages' è stato rinominato in' total_pages' nella versione 0.14.0 ([commettere] (https://github.com/amatsuda/kaminari/commit/e79935c2d596e165be566f6d92eed8d5acd6a843)) – ciastek

+0

Se si utilizza il 'per' predefinito, basta fare' Blog.all.page (1) .total_pages' –

Problemi correlati