2010-08-19 34 views

回答

0

我已經通過在will_paginate中重寫了很多代碼來實現它,對於延遲加載will_paginate非常困難,因爲will_paginate有一個核心類'WillPaginate :: Collection',它是'Array'的一個子類。像這個類一樣)
'paginate'方法產生的所有結果都會返回一個Collection實例,所以它會強制'ActiveRecord :: Relation'對象變成一個'Array',這將強制Relation以命中數據庫的方式。

+0

你能分享你的代碼/分叉將分頁嗎?我遇到了同樣的問題,因爲will_paginate,我無法利用緩存的延遲加載。 – Tiago 2010-12-25 19:31:24

+0

請給我你的電子郵件(我的:[email protected]),我會發一個給你。 – Croplio 2010-12-25 20:41:41

+0

嗨,我也是這樣......是在github上? – Alex 2011-07-21 05:15:03

0

我創建了一個非常輕量級的插件,它使用limit(per_page).offset(page * per_page)在Rails 3下實現分頁。因此,它提供了延遲加載,這對於片段緩存非常有用。接口與will_paginate(@ posts.recent.paginate:page => params [:page])相同。目前還沒有太多的視圖助手,但我相信你會發現它很有用:http://github.com/josei/simple_paginate

相關問題