我正在为我的应用构建一个小管理页面,该页面将在一个表格中显示来自4个模型的数据。列是:俱乐部,用户,帖子,评论。
俱乐部有很多用户,用户有很多帖子和很多评论。 所以我的问题是我需要在admin_controller中为我的每个模型明确添加分页吗?现在的样子,我得到了表格顶部和底部的页面列表,我可以返回页面,但我的所有结果都显示在第一页(~9000个结果)。
在我的admin_controller中,我有
@clubs = Club.all.paginate(page: params[:page], per_page: 50)
在我看来
<%= will_paginate @clubs %>
<table>
<% i = 0 %>
<tr class="new-admin-top-row">
<td><%= "Club Location" %></td>
<td>| <%= "Number of Signups "%> </td>
<td>| <%= "Number of Posts By Users"%> </td>
<td>| <%="Number of Comments By Users"%> </td>
</tr>
<%= @clubs.find_each do |club| %>
<tr class="new-admin-row">
<td class="new-admin-cell"><%= club.name %></td>
<td class="new-admin-cell f"><%= @users_array[i] %></td>
<td class="new-admin-cell s"><%= @posts_array[i] %></td>
<td class="new-admin-cell"><%= @comments_array[i] %></td>
<td class="new-admin-cell"><%= @elevates_array[i] %></td>
<% i+=1 %>
</tr>
<% end %>
</table>
<%= will_paginate @clubs %>
答案 0 :(得分:0)
find_each
方法适用于ActiveRecord :: Relation对象,并批量提取1000条记录。所以这就是你最有可能遇到的问题。将其更改为each
,它可能会解决您的问题。
您可以在此处详细了解find_each
:http://apidock.com/rails/ActiveRecord/Batches/find_each