我理解Kaminari
在阅读本文时使用Rails3表现良好:Rails 3 pagination, will_paginate vs. Kaminari,但是如何使用Rails4?另外,使用Bootstrap3对它们进行样式化时,哪种gem更容易解决?
答案 0 :(得分:22)
根据我的经验,Kaminari
和{}之间的差别很小。 Will Paginate
- 您使用的主要是个人选择(而非Paperclip
/ Carrierwave
或Mac / Windows
)
在兼容性方面,这两个宝石本身都与Rails 4一起使用
<强>自举强>
关于Bootstrap,我认为你问的是错误的问题
Bootstrap是CSS framework,与您应用的后端功能无关
底线是你必须从你的控制器调用分页方法,因此系统的差异只是装饰性的。如果使用Bootstrap对它们进行样式化,则必须对gem
执行相同的操作所以选择权是你的!
答案 1 :(得分:7)
使用Kaminari
实现twitter bootstrap分页非常容易。只需按照以下步骤操作:
gem 'kaminari'
添加到您的GemFile
。运行bundle install
并重新启动rails server bootstrap3
主题rails g kaminari:views bootstrap3
就是这样。
答案 2 :(得分:2)
Kaminari使用Rails 4.1.5
对我很好您可以通过更改Kaminari
生成的Bootstrap主题中的一行代码来使用Bootstrap 3在 Views / Kaminari / _paginator.html.erb
更改此行: <div class="pagination"><ul>
对此: <ul class="pagination pagination-lg">
..并摆脱div;只需使用上面的ul - 对我来说很好。
以下是整个部分的代码:
<%= paginator.render do %>
<ul class="pagination pagination-lg">
<%= first_page_tag unless current_page.first? %>
<%= prev_page_tag unless current_page.first? %>
<% each_page do |page| %>
<% if page.left_outer? || page.right_outer? || page.inside_window? %>
<%= page_tag page %>
<% elsif !page.was_truncated? %>
<%= gap_tag %>
<% end %>
<% end %>
<%= next_page_tag unless current_page.last? %>
<%= last_page_tag unless current_page.last? %>
</ul>
<% end %>