gpt4 book ai didi

ruby-on-rails - will_paginate 列表中每个项目的正确编号?

转载 作者:太空宇宙 更新时间:2023-11-03 17:49:36 25 4
gpt4 key购买 nike

我在我的 Rails 应用程序中使用 will_paginate gem 并循环遍历在页面上呈现的模型实例数组,每页限制为 5 个。在我添加 will_paginate 之前,我用一个简单的 <% i += 1 %> 对每个项目进行了编号,这当然会随着数组的每个循环而增加 1,并且工作正常。

但现在我正在使用 will_paginate 计数在每一页上重新开始,所以第 1 页的项目变为 1、2、3、4、5,然后在第二页上它重新开始...... 1、2、3 , 4, 5

显然这并不理想。当您转到前几页时,我如何让计数继续?

最佳答案

A will_paginate Collection不只是一个简单的ArrayActiveRecord::Relation .相反,它有一些 additional methods已定义,例如:current_page , per_page , offset , total_entriestotal_pages .

您可以使用 Collection#offset计算您当前的指数:

<% @collection.each_with_index do |item, index| %>
<%= @collection.offset + index + 1 %>
...
<% end %>

初始化Enumerator#with_index可以简化什么使用第一个索引(注意 .each 之间的 with_index :

<% @collection.each.with_index(@collection.offset + 1) do |item, index| %>
<%= index %>
...
<% end %>

关于ruby-on-rails - will_paginate 列表中每个项目的正确编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27163874/

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