如何根据Rails中的单个列计算记录与其他记录的排名?

假设我有一个名为point User模型。

如何将实例的排名与所有其他User行进行比较。

用户的排名可以被认为是具有比他们更多积分的其他用户的数量,加上1.正如Mischa在评论中指出的那样,适当的位置将在用户模型本身中,如:

 def ranking User.where('point > ?', point).count + 1 end 

然后你会把它称为:

 Rank: <%= @user.ranking %> 

这具有对具有相同等级的相同点数的用户进行排名的缺点。 对于那种情况,你必须决定一个“决胜局”。