Rails 3分页,will_paginate与Kaminari

Bob*_*Bob 42 pagination ruby-on-rails ruby-on-rails-3

我的设置:Rails 3.0.9,Ruby 1.9.2

我正在研究我的应用程序的分页解决方案,并看到有一个新的宝石Kaminari与可靠的宝石相比will_paginate.看起来好像will_paginate有一段时间没有更新,但后来又回来了V3.0.什么是共识,是一个优先于另一个,为什么?提前感谢您的见解.

编辑

我在推特上问赖恩贝茨,他说

两者都做得很好.最重要的因素是如果你使用任何需要分页的宝石,因为它们是不兼容的.我更喜欢will_paginate的非引擎方法,但这是个人偏好.

Man*_*ava 27

Kaminari Rocks,如果你使用rails 3+,我喜欢使用它,因为

  1. 它是最新的库,强大支持rails 3+.
  2. 'Kaminari'易于使用,ajax非常容易支持.
  3. Paginate纯对象方式.
  4. 它作为AREL的代理,没有在ActiveRecord上重载的特定paginate方法
  5. 不污染Array或Hash对象
  6. 更多标准轨道支持其他视图格式,最重要的移动设备

    User.page(7).per(50)
    
    Run Code Online (Sandbox Code Playgroud)

    但是如果你使用的是rails 2.3等,请坚持使用也适用于rails 3 +的will_paginate,但在内部它并不像Kaminari代码那样完美.


cle*_*lem 19

我真的很喜欢Kaminari.我不知道will_paginate是否会这样做,但是Kaminari也可以对任何常规的老人进行分页Array:

Kaminari.paginate_array(an_array).page params[:page]
Run Code Online (Sandbox Code Playgroud)

两者都有Railscasts,我建议观看.


ste*_*och 14

观看kaminari轨道广播然后观看意志分页轨道广播

Ryan Bates在评论中建议Kaminari更多地使用偏见,这可能会使得它稍微慢一些,但不会太多

  • 关于性能:浏览100k +条目使得will_paginate无法使用缓慢.然而,kaminari保持快速. (11认同)
  • @thedanielhanke - 你能指出证据/原因吗? (7认同)