2013-08-02 71 views
0

我是新來的鐵軌,我想知道如果我的直覺關於如何建立以下關聯是正確的。如何設置三個模型關聯?

我有合作伙伴主題,需要有一個默認的音頻主題與他們關聯。音頻主題然後有許多歌曲與它相關聯。所以音頻主題將有多首歌曲,並且多個合作伙伴主題將具有相同的音頻主題。

我應該像下面那樣設置它嗎?

合作伙伴主題: HAS_ONE:audio_theme 的has_many:歌曲,通過:audio_theme

音頻主題: has_and_belongs_to_many:partner_themes 的has_many:歌曲

歌曲: belongs_to的:audio_theme has_and_belongs_to_many:partner_themes,通過::audio_theme

另外我應該如何設置所有這些關聯的遷移,如果模型a已經存在但協會沒有?

謝謝!

回答

1

我認爲你可以將它設置更簡單 - 像這樣:

Audio.rb

has_many :PT 
has_many :songs 

Partner.rb

belongs_to :AT 

Song.rb

belongs_to :AT 

你不需要擔心遷移,只需將該代碼放入模型中即可設置。例如,要訪問ID爲33的歌曲,您可以使用audio.songs.find(33)

+0

謝謝,我猜Rails指南有點過分複雜。 – DogNibbler

+0

完全沒有 - 是否工作?你可以勾選上面的答案,以便留下'未回答的問題'隊列。 – dax

相關問題