次のような 3 つのモデルがあります。
Class User < ActiveRecord::Base
has_many :comments
end
Class Comment < ActiveRecord::Base
belongs_to :user
has_many :votes
end
Class Vote < ActiveRecord::Base
belongs_to :comment
end
次のように、ユーザーのコメントに関連付けられたすべての投票を取得したいと思います。
@user.comments.votes
しかし、これはエラーをスローします:
undefined method `votes' for #<ActiveRecord::Relation:0x3f6f8a0>
これはうまくいくように思えますが、ActiveRecord は has_many の関係をより深く考えているのではないかと思います。目的の結果を得る SQL クエリをハッキングしましたが、純粋に ActiveRecord を使用するよりクリーンな方法があるのではないかと思います。任意のヒント?