Rails: предотвращение вызова will_paginate #count ActiveRelation

Когда я прохожу will_paginate ActiveRelation, он всегда вызывает свой метод #count и обращается к базе данных, чтобы узнать общее количество элементов. Но эта операция занимает время, и у меня есть общее количество уже кэшированных и готово. Могу ли я передать этот заранее рассчитанный счет will_paginate и остановить его от попадания в базу данных?

Я попробовал :count опция, но она передается ActiveRecord как опция:

active_relation.paginate(page: 2, per_page: 100, count: total_count)

Спасибо!:)

1 ответ

Решение

Передача кэшированного счета с :total_entries решает проблему:

active_relation.paginate(page: 2, per_page: 100, total_entries: total_count)
Другие вопросы по тегам