我有一个表,每页分页20个:
<% @num = 0%>
<table>
<tr>
<th>id</th>
<th>title</th>
</tr>
<% for authors in @authors%>
<tr>
<td><%= @num += 1 %></td>
<td><%= authors.title %></td>
</tr>
<% end %>
</table>
<%= will_paginate @authors%>
我想让id行继续下去。当我点击第1页时,我应该看到1,2 3,4等ID。当我点击第二页时,我应该看到21,22,23等,但它刚刚重新启动到1,2 3
答案 0 :(得分:5)
不是将@num
初始化为0,而是将其设置为
@authors.offset
当你这样做时
@authors = Author.paginate(...)
你得到的是WillPaginate::Collection
。这是Array的子类,包含总页数,每页项目数等方法。特别是,offset
给出了当前页面的偏移量。