回答編集履歴

1

追記

2021/10/01 12:55

投稿

winterboum
winterboum

スコア23349

test CHANGED
@@ -15,3 +15,25 @@
15
15
  `a2.composer_songs = [test1, test2]`
16
16
 
17
17
  です。
18
+
19
+
20
+
21
+ ### 追記
22
+
23
+ 関連定義に違和感があるのです
24
+
25
+ 例えば `has_many :composer_song_songs`
26
+
27
+ これは CompoerSongSong というmodelをhas_manyしてるというもの。
28
+
29
+
30
+
31
+ ある Song を ComposerSong として Artistに関連付けるなら
32
+
33
+ 中間tableは Artist と ComposerSong をつなぐものとして、 ArtistComposerSong で、
34
+
35
+ `class Artist
36
+
37
+ has_many :composer_songs, class_name: "Song", through: :artist_composer_songs`
38
+
39
+ とするのがよいのでは。