我有一个基于total_points以降序排列的用户数组。计算数组中不同和重复的属性值
我需要找到该阵列中每个用户的等级。问题在于不止一个用户可以拥有相同的总分,因此具有相同的等级。例如,三位用户可能以200分位居第三。这里是我当前的代码:
class Leader < ActiveRecord::Base
def self.points_leaders
all_leaders = all_points_leaders # returns array of users sorted by total_points in desc order
all_leaders_with_rank = []
all_leaders.each do |user|
rank = all_leaders.index(user)+1
all_leaders_with_rank << Ldr.new(rank, user) # Ldr is a Struct
end
return all_leaders_with_rank
end
end
我该怎么修改代码,以便正确的等级返回,而不是只索引位置的值?