2014-11-02 99 views
6

當我通過will_paginate ActiveRelation,它總是調用其#count方法,並擊中數據庫找出項目的總數。但是這個操作需要時間,而且我已經將總數緩存並準備好了。我可以將這個預先計算的計數傳遞給will_paginate並阻止其擊中數據庫嗎?Rails:阻止will_paginate調用#的ActiveRelation

我試過:count選擇,但它傳遞給ActiveRecord的作爲一個選項:

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

謝謝! :)

回答

10

傳遞與:total_entries緩存計數解決了這個問題:

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