Ruby on rails 在带有轨道的视图中显示对象秩计数

Ruby on rails 在带有轨道的视图中显示对象秩计数,ruby-on-rails,pagination,Ruby On Rails,Pagination,我有一个页面,显示电影列表。电影由用户投票,并按票数顺序排列。我也在使用分页,所以它们每15部电影就被拆分一次。我只需要在每部电影下面放一个基本等级字段 电影名称 排名1 电影名称 排名2 电影名称 第三名 我想不出最好的办法。我试着将每一个都与索引一起使用,只显示索引,但是分页破坏了这一点。每次分页移动到下一个组时,计数都会重新开始 有人知道我该如何做到这一点吗 提前谢谢 很抱歉,没有在第一时间发布代码。我放弃了每个索引的想法,因为它没有按我预期的方式工作。我开始在电影课上制作一个排名方法,这

我有一个页面,显示电影列表。电影由用户投票,并按票数顺序排列。我也在使用分页,所以它们每15部电影就被拆分一次。我只需要在每部电影下面放一个基本等级字段

电影名称 排名1

电影名称 排名2

电影名称 第三名

我想不出最好的办法。我试着将每一个都与索引一起使用,只显示索引,但是分页破坏了这一点。每次分页移动到下一个组时,计数都会重新开始

有人知道我该如何做到这一点吗

提前谢谢

很抱歉,没有在第一时间发布代码。我放弃了每个索引的想法,因为它没有按我预期的方式工作。我开始在电影课上制作一个排名方法,这个方法仍然在产生一个奇怪的结果

**movie.rb def等级 Movie.all.ordervote_count::desc 结束

**index.html.erb

当我称之为这部电影时,它增加了一个排名,但是如果两部电影的票数相同,那么排名仍然是无序的


我也为我糟糕的礼节道歉。我将审查指导方针,并在将来做得更好。

您可以编写计票范围

比如:

Vote.count # SELECT count(*) AS count_all FROM "votes"
Movie.vote.count # SELECT count(*) AS count_all FROM "votes" WHERE ....
控制器:

def index
  @movies = Movie.order("vote_count DESC").paginate(....)
end
视图:

解释 在控制器内,使用页面参数或默认值1对集合进行分页。paginate插件正在为SQL查询添加限制。假设你有100个结果,你只需要第5页,假设每一页有10个条目,那么你只需要10个条目,从数字40开始。 在SQL中,看起来限制为40,10

如果已设置,则进入视图并渲染它们。排名通过第1页*每页+当前索引计算。当前索引以0开始,以n-1结束

假设你是40,所以第5页。这意味着5-1*10是偏移量,在本例中为40。然后再加上指数0,1,2,那么接下来是40,41,42,43


希望这有助于

分享您的型号代码和关系。您能给我们一些反馈吗?我的帖子或共享代码怎么样?你可能想阅读whathaveyoutried.com并对StackOverflow社区表示一些尊重,该社区强烈鼓励发布高质量的问题,连同一个MCVE,这是一个最低限度的完整可验证的代码示例,展示了你迄今为止的尝试。你可能想更新你的帖子,以达到这个最低合理的质量水平&表明你尊重其他会员的意愿。他们是喜欢回答MCVE相关问题的专业人士。享受成为StackOverflow贡献会员的乐趣,并支持这个社区的网络礼仪。我相信这非常有帮助。感谢您抽出时间仔细检查我的问题。如果答案有帮助,请将其标记为正确答案。在这种情况下,答案将位于顶部并用绿色箭头标记。这就是stackoverflow的工作原理。感谢您的帮助!
-@movies.each_with_index do |movie, i|
  =movie.name
  %span Ranked Number #{@page-1 * per_page + i}