依靠Rails中模型的孙子

时间:2013-09-12 03:32:16

标签: ruby-on-rails activerecord models

我有3个模特

Article
- has_many replies

Reply
- has_many votes

Vote
- belongs_to reply

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

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

1 个答案:

答案 0 :(得分:2)

我会做我称之为“便利协会”的事情。像这样:

Article

has_many :replies
has_many :votes, through: :replies


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

如果已加载集合,请使用size而不是count。使用count可确保新数据库命中,而size除非需要,否则无法使用。{/ p>