0

我是 Rails 新手,我想知道我对如何建立以下关联的直觉是否正确。

我有需要关联默认音频主题的合作伙伴主题。然后,音频主题有许多与之相关的歌曲。因此,音频主题将包含多首歌曲,而多个合作伙伴主题将具有相同的音频主题。

我应该像下面这样设置它吗?

合作伙伴主题:has_one :audio_theme has_many :songs, through: :audio_theme

音频主题:has_and_belongs_to_many :partner_themes has_many :songs

歌曲:belongs_to :audio_theme has_and_belongs_to_many :partner_themes,通过::audio_theme

另外,如果模型已经存在但关联不存在,我应该如何为所有这些关联设置迁移?

谢谢!

4

1 回答 1

1

我认为你可以更简单地设置它 - 像这样:

音频.rb

has_many :PT
has_many :songs

合作伙伴.rb

belongs_to :AT

歌曲.rb

belongs_to :AT

您无需担心迁移,只需将该代码放入模型中即可。例如,要访问 ID 为 33 的歌曲,您可以使用audio.songs.find(33)

于 2013-08-02T15:38:00.493 回答