在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