根据捕获日期订购数据库查询结果

时间:2014-01-03 20:22:37

标签: ruby-on-rails ruby ruby-on-rails-3.1

我有三个型号;用户,upvote和piece。

一件作品通过upvote模型有许多赞成,而这些赞成由用户分配。

目前,我在排行榜上排名投票率最高的作品:

@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

对此的任何帮助都将受到大力赞赏

1 个答案:

答案 0 :(得分: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