在活动记录对象中查找位置

时间:2013-09-03 12:41:22

标签: ruby-on-rails activerecord

我有一个我创建的联赛表:

 QuizuserAnswer.all(:include =>:user, :select => 'user_id, SUM(answer) AS points', :group =>'user_id', :order=>'points DESC'

这将返回如下对象:

 => [#<QuizuserAnswer user_id: 340>, #<QuizuserAnswer user_id: 348>]

现在我想找到一个特定用户的排名表位置。有干净的方式吗?或者我是否必须遍历al列?

1 个答案:

答案 0 :(得分:11)

从很小的时候我就得到了你的问题我觉得你想要跟随

这样的事情
answers = QuizuserAnswer.all(:include =>:user, :select => 'user_id, SUM(answer) AS points', :group =>'user_id', :order=>'points DESC')
user_id = 348
answers.map(&:user_id).index(user_id) #This will return 1

即它将返回用户在答案列表中给出的答案的位置