Playlist
とSong
のモデルを設定するロジックを理解しようとしています。データベースモデリング曲を使用したプレイリスト
これまでのところ私が持っている:
User has_many :playlists, has_many :songs
Playlist belongs_to :user, has_many :songs
Song belongs_to :user
私は歌が多くのプレイリストに属することができることを関連付けるに取り掛かる必要があるかどうかはわかりません。
has_and_belongs_to_many :playlists
をセットアップして結合テーブルを設定したいのですが、has_many :through
を関連付ける必要がありますか?
ただ1つのモデルでHABTM関連付けを行うことはできますか、関連する2つのモデルでHABTM関連付けを宣言する必要がありますか? Playlist
モデルでhas_and_belongs_to_many :songs
の関連付けを行うのは正しいとは言えません。
User
とSong
の関係はうまくいきますが、私はちょうどPlaylist
を実装しようとしています。もちろん、曲はプレイリストに属している必要はありません。
は、だから私は、テーブル/にhas_manyに参加する必要はありません:スルー?そして、私はソングモデルでHABTM協会だけを宣言しますか? – user1015523
1曲は多くのプレイリストに「属し」(関連する)ことができます。 1つのプレイリストは、多くのソングに「属し」(関連する)ことができます。したがって、両方のモデルでHABTMアサーションを宣言したいと思うようです。私は 'has_many:through'は、余分な列が必要な場合にのみ必要で、プレイリスト/曲のペアの評価(この曲はこのプレイリストに適しています)などが必要です。 – Ina
ご清聴ありがとうございます。私は、ソングに属するプレイリストの文脈では、「belongs_to」が関連していると思うと思う。 – user1015523