我想生成一个包含我的角色表中所有角色的列表,但是将它们分开以使页面不长。我希望默认为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来完成这项工作。
答案 0 :(得分:2)
您所描述的内容称为分页。有很多方法可以做到,但kaminari宝石是最受欢迎的。以下是在您的Rails应用中使用它的指南:http://railscasts.com/episodes/254-pagination-with-kaminari
简而言之,您的控制器应负责将@characters
仅设置为您要返回的特定页面(使用Kaminari,@characters = Character.page(params[:page].to_i)
)。然后,在您的视图上提供链接以转到上一页和下一页(确保正确处理第一页和最后一页)。