基本问题:如何在Rails 3中创建~1000个对象的分页列表,同时需要为列表中的每个对象创建链接目标?
我正在开展一个项目,我希望用分页显示约1000名用户。站点是使用Rails 3制作的,如果可能的话,我想使用Bootstrap分页显示帮助。
这是最相关的代码块,我在其中创建列表并循环遍历所有用户以添加指向其个人资料的链接:
<ul class="list">
<% @users.each do |user| %>
<li style="list-style-type: none"><a href="/users/<%= user.id %>" class="user"><%= user.name %></a></li>
<% end %>
</ul>
我正在考虑使用will_paginate-bootstrap gem,但是当我需要循环遍历@users为每个gem添加链接时,我无法弄清楚如何实现它。我对Rails比较陌生,所以任何帮助都会受到赞赏。
答案 0 :(得分:0)
首先,在Users控制器中,添加will_paginate代码以获取@user实例变量,如下所示:@users = User.paginate(page: params[:page])
。然后在您的视图中,添加<%= will_paginate @users, :renderer => BootstrapPagination::Rails %>
。你可以把它放在你想要分页的地方,所以在列表的顶部或底部,或者如果你想要的话,甚至两者都可以。然后在页面的某个地方放置这样的内容,这将为之前在控制器中设置的@users变量中的每个用户呈现_user.html.erb部分:
<ul class="list">
<%= render @users %>
</ul>
在该_user.html.erb文件中,您可以为每个用户放置要显示的任何代码,例如指向用户的显示页面<%= link_to user.name, user, :class => "user" %>
或用户头像的链接。