Я использую полиморфной ассоциации аргументировать свою Post
модель (которая имеет общую запись атрибутов-заголовок, тело, дата, и т.д. ...)как запросить с помощью полиморфного атрибута has_one ассоциации?
Вот мои модели,
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
S, который имеет модель альбома с таким же художником идентификатором этого позы id.
Я могу запросить Album
модели с таким же художником идентификатором альбома, который @post
«s ... но это не то, что я хочу ..
Я хочу набор Post
@albums = Album.where('albums.artist_id = "?"', @post.post_module.artist.id)
Как я могу это сделать? или я разрабатываю плохие отношения модели?
это не работает с ошибкой с NameError: неинициализированная постоянная Post :: PostModule – synthresin