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的非引擎方法多一点,但这是个人喜好。
Kaminari Rocks,如果你使用rails 3+,我喜欢使用它,因为
- 这是最新的图书馆,强大的支持轨道3+。
- “Kaminari”易于使用,并且非常容易支持
ajax
。 - 分页纯对象的方式。
- 它在AREL上作为代理工作,没有在ActiveRecord上重载的特定分页方法
- 不污染数组或哈希对象
-
更多的标准导轨支持其他视图格式, 最重要的手机
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更容易