我正在使用分页 gem 对客户订单进行分页。我不得不通过数据库使用关系显示订单:
<table class="order-items">
<th>Date</th>
<th>Order No.</th>
<th>View Order</th>
<% @customer.orders.each do |order| %>
<tr>
<td><%= order.created_at.strftime("%d %b. %Y") %></td>
<td><%= order.id %></td>
<td><%= link_to 'Show', "../orders/#{order.id}" %></td>
</tr>
<% end %>
</table>
<p><%= will_paginate @orders %></p>
我的控制器中的代码:
@customer = Customer.find(params[:id])
@order = @customer.orders
@orders = @order.paginate page: params[:page], order: 'title',
per_page: 5
我为这个客户创建了 6 个订单来测试它。我遇到的问题是分页页面正确显示在底部(2 页),但所有 6 个订单仍显示在列表中,两个分页页面仍显示所有 6 个订单。
我已经设法让所有其他页面的分页工作正常,所以我假设这是因为我在那里有 order.line_items.each 构造 - 所以这就是它显示所有 6 个的原因。我不知道如何解决这个问题!任何帮助将不胜感激,谢谢!