Rails 3分页,will_paginate与Kaminari

我的设置:Rails 3.0.9,Ruby 1.9.2

我正在为我的应用程序寻找一个分页解决scheme,并看到有一个新的ISHgemKaminari相比,值得信赖的will_paginate 。 它看起来像will_paginate没有更新一段时间,但从V3.0回来。 什么是共识,是一个优于对方,为什么? 提前感谢您的见解。

编辑

我在Twitter上问Ryan Bates,他说

两者同样做得好。 最大的因素是如果你使用任何需要分页的gem,因为它们不兼容。 我喜欢will_paginate的非引擎方法多一点,但这是个人喜好。

5 Solutions collect form web for “Rails 3分页,will_paginate与Kaminari”

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

  1. 这是最新的图书馆,强大的支持轨道3+。
  2. “Kaminari”易于使用,并且非常容易支持ajax
  3. 分页纯对象的方式。
  4. 它在AREL上作为代理工作,没有在ActiveRecord上重载的特定分页方法
  5. 不污染数组或哈希对象
  6. 更多的标准导轨支持其他视图格式, 最重要的手机

     User.page(7).per(50) 

    但是如果你使用的是rails 2.3等,请坚持使用rails 3 +的will_paginate ,但是在内部它并不是完美的Kaminari代码。

我真的很喜欢Kaminari。 我不知道如果will_paginate这样做,但Kaminari也可以分页任何常规的旧Array

 Kaminari.paginate_array(an_array).page params[:page] 

有两个Railscasts ,我build议看。

看kaminari railscast然后观看将分页railscast

瑞安·贝茨(Ryan Bates)在评论中build议Kaminari使用更多的partials,这可能会使分数慢一些,但不是很多

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

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

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

will_paginate有一个gem让你可以做同样的事情,但是Kaminari更容易

  • 钢轨捆绑安装生产只
  • Rails - 查找2个字段?
  • 模型已经存在时,如何运行`rails generate scaffold`?
  • 在Rails 3中突出显示当前页面的最佳方法是什么? - 有条件地应用CSS类来链接
  • Rails 3检查属性是否改变
  • Rails 3.1和图像资产
  • Rails 3的UTF-8查询string显示在URL?
  • 在js.erb文件中部分渲染
  • 访问助手从邮件?
  • 铁轨3 - link_to销毁不工作
  • Rails的:如何从URL获取所有参数?