Rails 4分页,will_paginate与Kaminari使用bootstrap3

时间:2014-01-29 08:49:53

标签: ruby-on-rails twitter-bootstrap pagination will-paginate kaminari

我理解Kaminari在阅读本文时使用Rails3表现良好:Rails 3 pagination, will_paginate vs. Kaminari,但是如何使用Rails4?另外,使用Bootstrap3对它们进行样式化时,哪种gem更容易解决?

3 个答案:

答案 0 :(得分:22)

根据我的经验,Kaminari和{}之间的差别很小。 Will Paginate - 您使用的主要是个人选择(而非Paperclip / CarrierwaveMac / Windows

在兼容性方面,这两个宝石本身都与Rails 4一起使用


<强>自举

关于Bootstrap,我认为你问的是错误的问题

Bootstrap是CSS framework,与您应用的后端功能无关

底线是你必须从你的控制器调用分页方法,因此系统的差异只是装饰性的。如果使用Bootstrap对它们进行样式化,则必须对gem

执行相同的操作

所以选择权是你的!

答案 1 :(得分:7)

使用Kaminari实现twitter bootstrap分页非常容易。只需按照以下步骤操作:

  1. gem 'kaminari'添加到您的GemFile。运行bundle install并重新启动rails server
  2. 检查Kaminary themes - 在您的情况下,您需要bootstrap3主题
  3. 运行rails g kaminari:views bootstrap3
  4. 就是这样。

答案 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 %>