2011-11-18 66 views
41

我的设置:Rails的3.0.9,1.9.2红宝石的Rails 3分页,will_paginate与雷

我寻找到我的应用程序分页解决方案,看到有一个新的十岁上下的宝石Kaminari比较了到可信的will_paginate。它看起来像will_paginate没有更新一段时间,但从V3.0回来。什么是共识,是比其他人更喜欢的,为什么?提前感谢您的见解。

编辑

我问瑞恩·贝茨在Twitter上,他说

两个做的工作同样出色。最大的因素是,如果您使用任何 需要分页的宝石,因为它们不兼容。我确实喜欢 will_paginate的非引擎方法多一点,但这是个人偏好 。

回答

19

我真的很喜欢Kaminari。我不知道是否will_paginate做到这一点,但雷也可以分页任何普通的旧Array

Railscasts两个,我建议观望。

14

kaminari railscast的则看will paginate railscast

瑞恩·贝茨建议在评论认为雷让更多的使用泛音,这可能使分数慢一些,但并不多

+11

关于性能:通过100K +条目,使浏览will_paginate unuseable缓慢。然而kaminari保持快速。 – thedanielhanke

+7

@thedanielhanke - 你能指出证据/原因吗? – Yarin

27

Kaminari岩石,如果你正在使用rails 3+,我喜欢使用它,因为

  1. 它是最新的库,并且支持rails 3+强大。
  2. 'Kaminari'易于使用,它非常容易支持ajax
  3. 分页纯对象方式。
  4. 它的工作原理上AREL代理,没有具体PAGINATE方法重载的ActiveRecord的
  5. 不污染数组或哈希对象
  6. 更多标准导轨其他视图格式,支持最重要的移动

    User.page(7).per(50) 
    

    但是,如果你正在使用轨道2.3等,坚持与will_paginate,也与轨道3 +,但内部其不完美的Kaminari代码。

1

我已经使用了两个宝石,坦率地说,我更喜欢Kaminari。它很容易使用。我没有看到任何性能问题或环境问题(我的应用程序位于Heroku上)。

1

虽然will_paginate可以很快完成这项工作,但Kaminari还允许您快速编辑分页HTML输出。

这对我来说是件好事,因为我使用的是Bootstrap 3,并且希望使用默认的分页样式。

没有为will_paginate宝石,让你做同样的,但雷它更flixible