2013-09-03 2 views
6

У меня есть таблица лиги, что я создать с:Найти позицию в активной записи объекта

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>] 

Теперь я хочу, чтобы найти положение таблицы Лиги одного конкретного пользователя. Есть ли чистый путь? или мне нужно прокручивать все столбцы?

+0

Что вы имеете в виду по _позиции одного конкретного пользователя_? – Vucko

+0

Какую базу данных вы используете? – techvineet

+0

Если вы используете MySQL, то перейдите по этой ссылке http://stackoverflow.com/q/3126972/1460496 – techvineet

ответ

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 

т.е. возвращает позицию ответа, данного пользователя из списка ответа на вызов в

+0

именно то, что я хотел. благодаря! – flyte321

+0

@ flyte321: - Cheer's, запомните одно, что он вернет 'nil', если' user_id' не присутствует в 'answer' – Salil

+0

Это фактически решило мою проблему попытки создать« следующую »кнопку в коллекции записей действий с областью действия – dannio

Смежные вопросы