次のモデルと関連付けがあります。
class User < ActiveRecord::Base
has_and_belongs_to_many :songs
end
class Song < ActiveRecord::Base
has_and_belongs_to_many :users
belongs_to :album
delegate :artist, :to => :album, :allow_nil => true
end
class Album < ActiveRecord::Base
has_many :songs
belongs_to :artist
end
class Artist < ActiveRecord::Base
has_many :albums
has_many :songs, :through => :albums
end
user.albums と user.artists を定期的に呼び出せるようにする必要があります。User と Artist/Album の間に has_and_belongs_to_many 関連付けを作成する最も効率的なオプションはありますか?
もっと良い方法があるはずですが、まだ何も見つけることができませんでした。