2012-05-04 16 views
16

モデルオブジェクトの大きな配列を反復処理しているため、パフォーマンス/メモリの理由からページを設定する必要があります。Kaminariを使用してページ数を取得する方法

は、私はこのような何かやりたい:

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

はもちろん、私は自分自身をカウントを取得し、数学を行うことができますが、しかしNUM_PAGESの同等はありますか? これをもっとうまくやる方法はありますか?

答えて

34

はい、モデルの合計ページ数を取得するには、total_pages(または0.14.0より前のバージョンのnum_pages)を使用できます。例えば

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

'num_pages'バージョン0.14.0にtotal_pages''に名前が変更された([コミット](https://github.com/amatsuda/kaminari/commit/e79935c2d596e165be566f6d92eed8d5acd6a843)) – ciastek

+0

デフォルトの 'per'を使用している場合、' Blog.all.page(1).total_pages'を実行してください –

関連する問題