如何根据Rails中的单个列计算记录与其他记录的排名?
假设我有一个名为point
User
模型。
如何将实例的排名与所有其他User
行进行比较。
用户的排名可以被认为是具有比他们更多积分的其他用户的数量,加上1.正如Mischa在评论中指出的那样,适当的位置将在用户模型本身中,如:
def ranking User.where('point > ?', point).count + 1 end
然后你会把它称为:
Rank: <%= @user.ranking %>
这具有对具有相同等级的相同点数的用户进行排名的缺点。 对于那种情况,你必须决定一个“决胜局”。