我的设置:Rails 3.0.9,Ruby 1.9.2
我正在研究我的应用程序的分页解决方案,并看到有一个新的宝石Kaminari
与可靠的will_paginate
相比。看起来will_paginate
暂时没有更新,但后来又回到了V3.0。什么是共识,是一个优先于另一个,为什么?提前感谢您的见解。
修改
我在推特上问赖恩贝茨,他说
两者都做得很好。最大的因素是如果你使用任何 由于它们不相容所以需要分页的宝石。我真的很喜欢 will_paginate的非引擎方法更多,但这是个人的 偏好。
答案 0 :(得分:27)
Kaminari如果你使用的是rails 3+,我喜欢使用它,因为
ajax
。更多标准导轨支持其他视图格式,最重要的移动
User.page(7).per(50)
但是如果你使用的是rails 2.3等,请坚持使用{3}},这也适用于rails 3 +,但在内部它并不像Kaminari代码那么完美。
答案 1 :(得分:19)
我真的很喜欢Kaminari。我不知道will_paginate是否会这样做,但是Kaminari也可以对任何常规的Array
分页:
Kaminari.paginate_array(an_array).page params[:page]
两者都有Railscasts,我建议观看。
答案 2 :(得分:14)
观看kaminari railscast,然后观看will paginate railscast
Ryan Bates在评论中建议Kaminari更多地使用偏见,这可能会使它慢一些,但不会太多
答案 3 :(得分:1)
我使用过两种宝石,坦率地说,我更喜欢Kaminari。它很容易使用。我没有看到任何性能问题或环境问题(我的应用程序存在于Heroku上)。
答案 4 :(得分:1)
虽然will_paginate可以很快完成工作,但Kaminari还允许您快速编辑分页HTML输出。
这对我来说很棒,因为我使用的是Bootstrap 3,并希望使用默认的paginations样式。
will_paginate有一个宝石允许你做同样的事情,但是Kaminari它更加灵活