モデルの引数にポリモーフィックな関連付けを使用してPost
います (これには、共通の投稿属性-タイトル、本文、日付などがあります...)
これが私のモデルです。
class Post < ActiveRecord::Base
belongs_to :post_module, polymorphic: true
end
class Album < ActiveRecord::Base
has_one :post, as: :post_module
belongs_to :artist
end
class Artist < ActiveRecord::Base
has_many :albums
end
今、私はPost
モデルを持つモデルを持っていAlbum
ます:post_module
@post = Post.find(params[:id]) #its :post_module is an Album model
Post
ここで、その投稿のアルバムのアーティスト ID と同じアーティスト ID を持つ Album モデルを持つ sをクエリしたいと思います。
Album
そのアルバムの同じアーティスト ID を持つモデルを照会できます@post
...しかし、それは私が望むものではありません..
のセットが欲しいPost
@albums = Album.where('albums.artist_id = "?"', @post.post_module.artist.id)
これどうやってするの?または、悪いモデル関係を設計していますか?