我正在使用带有rails 4的will_paginate并在我的用户控制器中使用以下代码:
def index
@users = User.paginate(page: params[:page], :per_page => 10)
end
在我看来:
<% provide(:title, 'All users') %>
<h1>All Users</h1>
<%= will_paginate %>
<ul class="users">
<% @users.each do |user| %>
<%= render @users %>
<% end %>
</ul>
<%= will_paginate %>
这会呈现所有用户,但每页有40个,而不是10个。每个页面都有正确的用户,但是有4次。例如,它再次呈现用户1 ... 10然后1 ... 10,依此类推。目前有101个用户,如果我将每页限制设置为1,则在每个页面上呈现101个页面,每个页面上有一个用户,因为它应该是任何限制&gt; 1,它打破了。
任何有关如何解决问题的见解,每个页面上只有10个用户会非常感激。
答案 0 :(得分:0)
我发现了你的错误。你需要渲染一次@users。希望它适合你。 :)
<ul class="users">
<%= render @users %>
</ul>
您还需要使用以下代码进行分页
<%= will_paginate @users %>
答案 1 :(得分:0)
您需要在渲染调用中引用块变量user
,而不是@users
<ul class="users">
<% @users.each do |user| %>
<%= render user %>
<% end %>
</ul>