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)