获取用户在收到所有问题时收到的所有评价

时间:2014-08-11 00:07:41

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

在我的应用中,用户可以对问题进行投票并发布问题。我想看看用户在他们的问题上收到了的总票数。

我想做user.questions.upvotes,但这似乎不起作用,因为它在关联上调用方法。如果我执行user.upvotes,它将获得用户给出的所有upvotes,而不是已接收

让我们以Stackoverflow为例:

"user" has_many "questions"
"user" has_many "upvotes"

"question" belongs_to" "user"
"question" has_many "upvotes"

"upvote" belongs_to "user"
"upvote" belongs_to "question"

如何获得用户收到的所有评价?

(顺便说一下,如果你对这个问题有一个更抽象的标题,请评论,以便将来更容易搜索。我无法想到一个明确的标题)

1 个答案:

答案 0 :(得分:1)

呃,写完整件事后意识到这只是

获得一个人收到的所有选票: user.questions.count(:votes)

获得一个人给出的所有选票: user.votes.count