gpt4 book ai didi

ruby - Ruby/Rails 中的每个持久计数器

转载 作者:数据小太阳 更新时间:2023-10-29 07:38:33 27 4
gpt4 key购买 nike

我有以下代码,它为我提供了一堆位置和每个位置的索引。

<%= 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 %>
...

最佳答案

each_with_index 是一个普通的 ruby​​ 方法(我认为是可枚举的),它对分页结构一无所知。您可能需要提供额外的计算,除非 Kaminari 提供了一些东西(我还没有使用 Kaminari)

如果这是 will_paginate,我会做这样的事情,也许它对你也有用:

<h1><%= index + 1 + ((params[:page] || 0 ) * @items_per_page )  %></h1>

(你必须自己设置@items_per_page)

关于ruby - Ruby/Rails 中的每个持久计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6290771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com