0

我有 3 个模型

Article
- has_many replies

Reply
- has_many votes

Vote
- belongs_to reply

我正在文章模型中编写一个方法,该方法返回文章回复中收到的所有投票的总数。

在求助于编写 SQL 查询之前,我想检查是否有更好的方法来执行此操作。

4

1 回答 1

2

我会做我所谓的“便利协会”。像这样:

Article

has_many :replies
has_many :votes, through: :replies


# Then you can just do:
article.votes.size

在集合已加载的情况下使用sizeover 。countusingcount确保新的数据库命中,而size除非需要,否则不会。

于 2013-09-12T03:38:12.530 回答