如何使用Kaminari获取页面数量

19

我正在遍历一个大的模型对象数组,由于性能和内存原因需要进行分页。

我想做类似于这样的事情:

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

显然我可以获取数量并自行计算,但是否有类似于num_pages的等价物? 或者总体上有更优雅的方式来做到这一点吗?

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


6
num_pages 在 0.14.0 版本中已经更名为 total_pagescommit)。 - ciastek
1
如果您正在使用默认的per,只需执行Blog.all.page(1).total_pages - Adam Grant
文档“模块:Kaminari::PageScopeMethods”:https://www.rubydoc.info/github/amatsuda/kaminari/master/Kaminari/PageScopeMethods - Pascal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接