在多个页面上拆分索引结果

时间:2015-07-29 16:01:15

标签: javascript jquery ruby-on-rails ruby-on-rails-4

我想生成一个包含我的角色表中所有角色的列表,但是将它们分开以使页面不长。我希望默认为15个字符,然后您将会看到"下一个"按钮,查看下15个结果。这可以在铁轨上做吗?

以下是我的index.html.erb的副本(我已取出所有.CSS信息):

    <table class="table">
        <tr>
            <th><strong>Name</strong></th>
            <th><strong>Race</strong></th>
            <th><strong>Class</strong></th>
            <th><strong>Alignment</strong></th>
        </tr>
    <% @characters.each do |character| %>
        <% if character.user_id == current_user.id %>
            <tr onclick="location.href= '<%= character_path(id: "#{character.id}") %>'">
                <td><%= character.name%></td>
                <td><%= character.race %></td>
                <td><%= character.class_ %></td>
                <td><%= character.alignment %></td>
            </tr>
        <% else %>
            <tr>
                <td><%= character.name%></td>
                <td><%= character.race %></td>
                <td><%= character.class_ %></td>
                <td><%= character.alignment %></td>
            </tr>
        <% end %>
    <% end %>
  </table>

如果需要,我愿意使用JavaScript或Jquery来完成这项工作。

1 个答案:

答案 0 :(得分:2)

您所描述的内容称为分页。有很多方法可以做到,但kaminari宝石是最受欢迎的。以下是在您的Rails应用中使用它的指南:http://railscasts.com/episodes/254-pagination-with-kaminari

简而言之,您的控制器应负责将@characters仅设置为您要返回的特定页面(使用Kaminari,@characters = Character.page(params[:page].to_i))。然后,在您的视图上提供链接以转到上一页和下一页(确保正确处理第一页和最后一页)。

相关问题