2010-08-19 32 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

相关问题