2014-01-03 3 views
0

У меня есть три модели; Пользователь, upvote и кусок.Результаты запроса базы данных запроса на основе даты ввода

Кусок имеет много оборотов по модели Upvote, и эти upvotes даются кускам пользователей.

В настоящее время я проранжировать наиболее высоко проголосовали штуки на лидерах:

@pieces = Piece.unscoped.order("votes DESC").first(5) 

Я также показать подробности пользователей, которые голосовали за конкретную часть, в первой очереди аватара.

Я пытаюсь найти способ отображения информации о пользователе в том порядке, в котором они голосовали. Например. пользователь, который проголосовал первым, должен отображаться в верхней части списка и останавливать показ пользователей в заданном по умолчанию порядке, заданном моделью.

Код контроллера показан ниже:

def leaderboard 
    @title = "Leaderboards" 
    @pieces = Piece.unscoped.order("votes DESC").first(5) 
    @voters = [] 
    @pieces.each do |voters| 
    @voters << voters.users 
    end 
end 

Любая помощь по этому вопросу будет массово оценили

ответ

0

Попробуйте этот код:

def leaderboard 
    @title = "Leaderboards" 
    @pieces = Piece.unscoped.order("votes DESC").first(5) 
    @voters = [] 
    @pieces.each do |piece| 
    piece.users.each do |user| 
     @voters << user 
    end 
    end 
end 
Смежные вопросы