Alex Rivera | Logout

How to get page count using Kaminari

Asked 2012-05-04T13:18:43.833
19

I am iterating through a large array of model objects and need to paginate for performance/memory reasons.

I want to do something like this:

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

Obviously I can get the count and do the math myself, but is there an equivalent of num_pages? Or is there a more elegant way of doing this altogether?

Edit
Report

1 Answer

42

Use total_pages.

Yes, you can use total_pages to retrieve the total number of pages in your model.

For example:

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

Version < 0.14.0

Previous to version 0.14.0, the method was called num_pages instead of total_pages.

answered 2012-06-16T19:14:17.777

Your Answer