19

モデル オブジェクトの大規模な配列を反復処理しており、パフォーマンス/メモリ上の理由からページ分割する必要があります。

私はこのようなことをしたい:

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

明らかに、カウントを取得して自分で計算できますが、num_pages に相当するものはありますか? または、これを完全に行うよりエレガントな方法はありますか?

4

1 に答える 1

42

を使用しtotal_pagesます。

total_pagesはい、モデル内の総ページ数を取得するために使用できます。

例えば:

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

バージョン < 0.14.0

バージョン 0.14.0 より前では、 メソッドはnum_pagesの代わりに呼び出されていましたtotal_pages

于 2012-06-16T19:14:17.777 に答える