【发布时间】:2011-07-05 20:13:09
【问题描述】:
我有以下代码,它为我提供了一堆位置和每个位置的索引。
<%= paginate @locations %>
<% @locations.each_with_index do |location, index| %>
<h1><%= index + 1 %></h1>
<h2><%= location.name %></h2>
<% end %>
一切正常,我以正确的顺序和正确的索引获取所有元素(宫殿的访问量最多,然后是条形等):
- 1 宫
- 2 小节
- 3 电影院
- 4 餐厅
- 5 气球
我使用 Kaminari 进行分页,如果我单击第二页以显示接下来的 5 个位置,索引又从 1 开始,但它应该给我 6。
- 下一页(应以 6 继续索引)
- 1 个竞技场(应该是 6 个)
- 2 个体育场(应该是 7 个)
- 等等...
那么我如何获得在下一页继续的持久计数器/索引?
提前致谢
更新
我想出了以下方法,到目前为止效果很好:
<% if params[:page].nil? || params[:page] == "0" || params[:page] == "1" %>
<% x = 0 %>
<% else %>
<% page = params[:page].to_i - 1 %>
<% x = page * 10 %>
<% end %>
<% @locations.each_with_index do |location, index| %>
<%= index + x + 1 %>
...
【问题讨论】:
-
你能用记录的id吗?
<h1><%= location.id %></h1> -
不保证id是连续的
标签: ruby ruby-on-rails-3 pagination each counter