2013-09-03 14 views
6

Mam tabelę ligową, że tworzę z:Znajdź pozycję aktywnego rekordu obiektu

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

ta zwraca obiekt tak:

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

Teraz chcę znaleźć pozycję tabeli Ligi jeden konkretny użytkownik. Czy istnieje czysty sposób? czy muszę przechodzić przez kolejne kolumny?

+0

Co masz na myśli przez _położenie jednego konkretnego użytkownika? – Vucko

+0

Z której bazy danych korzystasz? – techvineet

+0

Jeśli używasz MySQL następnie kliknąć ten link http://stackoverflow.com/q/3126972/1460496 – techvineet

Odpowiedz

11

Od bardzo mało dostałam Twoje pytanie Myślę, że chcesz coś takiego po

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 

czyli powróci pozycję odpowiedzi udzielonej przez użytkownika spośród listy Odpowiedź na

+0

dokładnie to, co chciałem. dzięki! – flyte321

+0

@ flyte321: - Pozdrawiam, pamiętajcie, że zwróci 'nil', jeśli' identyfikator_użytkownika' nie jest obecny w 'odpowiedzi' – Salil

+0

To faktycznie rozwiązało mój problem z próbą wygenerowania" następnego "przycisku w zbiorze rekordów działań z zakresem – dannio

Powiązane problemy