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を使用します。countを使用countすると、新しいデータベースのヒットが保証されますが、size必要な場合を除き、そうではありません。

于 2013-09-12T03:38:12.530 に答える