When I pass will_paginate
an ActiveRelation, it always calls its #count method and hits the database to find out the total number of items. But this operation takes time and I have the total number already cached and ready. Can I pass this pre-calculated count to will_paginate
and stop it from hitting the database?
I tried the :count
option, but it is passed to ActiveRecord as an option:
active_relation.paginate(page: 2, per_page: 100, count: total_count)
Thanks! :)
Passing the cached count with :total_entries
solves the problem:
active_relation.paginate(page: 2, per_page: 100, total_entries: total_count)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With