我有3个模特
Article
- has_many replies
Reply
- has_many votes
Vote
- belongs_to reply
我正在文章模型中编写一个方法,它返回在文章回复中收到的所有投票的总数。
在求助于编写SQL查询之前,我想检查是否有更好的方法来执行此操作。
答案 0 :(得分:2)
我会做我称之为“便利协会”的事情。像这样:
Article
has_many :replies
has_many :votes, through: :replies
# Then you can just do:
article.votes.size
如果已加载集合,请使用size
而不是count
。使用count
可确保新数据库命中,而size
除非需要,否则无法使用。{/ p>