在rails3中,幾乎所有的查詢接口現在都變成了lazyloading,但'will_paginate'會在你使用'paginate'方法後立即觸發數據庫。我怎樣才能使它lazyload記錄?如何在rails 3中創建'will_paginate'lazyload?
1
A
回答
0
我已經通過在will_paginate中重寫了很多代碼來實現它,對於延遲加載will_paginate非常困難,因爲will_paginate有一個核心類'WillPaginate :: Collection',它是'Array'的一個子類。像這個類一樣)
'paginate'方法產生的所有結果都會返回一個Collection實例,所以它會強制'ActiveRecord :: Relation'對象變成一個'Array',這將強制Relation以命中數據庫的方式。
0
我創建了一個非常輕量級的插件,它使用limit(per_page).offset(page * per_page)在Rails 3下實現分頁。因此,它提供了延遲加載,這對於片段緩存非常有用。接口與will_paginate(@ posts.recent.paginate:page => params [:page])相同。目前還沒有太多的視圖助手,但我相信你會發現它很有用:http://github.com/josei/simple_paginate
相關問題
- 1. 如何創建的Rails 3
- 2. 在Rails 3中創建plist 3
- 3. 如何在rails 3中創建以前的版本rails?
- 4. 在Rails 3中創建新聞源
- 5. 如何在rails 3中創建新的遷移
- 6. 如何在加入的Rails 5中創建3個模型?
- 7. 如何在rails 3中創建Web服務?
- 8. 如何在rails 3中創建postgresql的緩慢查詢分析
- 9. 如何在Rails 3中創建網站表單字段?
- 10. rails 3,如何在一個組中設置user.role#創建動作
- 11. 如何在Rails 3中創建動態根?
- 12. 如何在Rails 3中添加多個新/創建路由
- 13. 如何在rails 3中創建ActiveModel對象
- 14. 如何在Rails 3中創建動態生成的麪包屑?
- 15. 如何在Ruby on Rails 3中從JSON響應創建映射?
- 16. 如何在Rails 3中創建一個整數數組?
- 17. 如何在Rails 3中創建沒有空格的N跨度?
- 18. 如何在Rails 3中創建複雜的有很多關係?
- 19. 如何在rails 3中創建新項目的表單
- 20. 如何在Rails 3中創建自定義的「關聯方法」?
- 21. 如何在Rails 3中創建登錄表單?
- 22. 如何在Rails 3中創建2個獨立的組模型
- 23. 如何在Rails 3中創建訪客用戶+設計
- 24. 如何在Rails 3中創建ActiveRecord無表模型
- 25. 如何在sqlite 3中創建表?
- 26. 如何在Swift 3中創建AudioQueueInputCallback?
- 27. 如何在Rails 3中
- 28. 如何創建鏈接到Rails 3中的文本和圖像?
- 29. 如何在rails中創建關係?
- 30. 如何在Rails中創建Datepicker FormHelper?
你能分享你的代碼/分叉將分頁嗎?我遇到了同樣的問題,因爲will_paginate,我無法利用緩存的延遲加載。 – Tiago 2010-12-25 19:31:24
請給我你的電子郵件(我的:[email protected]),我會發一個給你。 – Croplio 2010-12-25 20:41:41
嗨,我也是這樣......是在github上? – Alex 2011-07-21 05:15:03