User.rb
has_many :votes
has_many :photos
Photo.rb
has_many :votes
belongs_to :user
Vote.rb
belongs_to :user
belongs_to :photo
我想列出给照片投票的用户。但是此列表必须包含有关用户对照片投票的次数的信息。例如,当我转到 url photos/5/statistics 时,必须有如下列表:
1) User1 voted 30 times
2) User432 voted 15 times
3) User43 voted 12 times
我们将不胜感激。
最佳答案
使用 group_by 是一种方法
例如:
Photo.first.votes.group_by(&:user).each do |user, votes|
puts "User #{user.id} voted #{votes.count} times"
end
关于ruby-on-rails - 多对多计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5871381/