我正在遍历一个大的模型对象数组,由于性能和内存原因需要进行分页。
我想做类似于这样的事情:
for i in 1..Person.num_pages
Person.page(i).each do
# work
end
end
显然我可以获取数量并自行计算,但是否有类似于num_pages的等价物? 或者总体上有更优雅的方式来做到这一点吗?
我正在遍历一个大的模型对象数组,由于性能和内存原因需要进行分页。
我想做类似于这样的事情:
for i in 1..Person.num_pages
Person.page(i).each do
# work
end
end
显然我可以获取数量并自行计算,但是否有类似于num_pages的等价物? 或者总体上有更优雅的方式来做到这一点吗?
total_pages
。是的,您可以使用total_pages
来获取模型中总页面数。
例如:
@blog_entries = Blog.all.page(1).per(20)
puts "total pages: #{@blog_entries.total_pages}"
在 0.14.0 版本之前,该方法被称为 num_pages
,而不是 total_pages
。
num_pages
在 0.14.0 版本中已经更名为total_pages
(commit)。 - ciastekper
,只需执行Blog.all.page(1).total_pages
。 - Adam Grant