我有一个我创建的联赛表:
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列?
解决方法
从很小的时候我就得到了你的问题,我想你想要跟随之类的东西
answers = QuizuserAnswer.all(:include =>:user,:order=>'points DESC') user_id = 348 answers.map(&:user_id).index(user_id) #This will return 1
即它将返回用户在答案列表中给出的答案的位置