嗨,我有一个排名系统,如果他们有相同的分数或分数,那么两个用户应该有相同的排名。
我通过索引得到它,但是如果它们具有相同的分数,则无法使它们的索引相等
用户.rb
def get_rank
x = User.get_rank.index(self)
x ? (x + 1) : x
end
def self.get_rank
Response.joins(:answer).where("answers.correct is TRUE").map(&:user).uniq.sort_by(&:score).reject{|me| me.super_admin or me.questions.count < Question.count}.reverse
end
如何使具有相同分数的用户只有 1 个相似排名。
例如,如果两个用户都得到 25 分,并且 25 是帖子中最高的,那么他们一定是第一名。
任何解决方法将不胜感激