我有一個comic_books
表有很多問題,其中每個有author and illustrator
,目前僅存儲爲字符串。使用has_many:through
for comic_books來解決問題的效果很好,現在我試圖找出如何爲作者和插畫師添加關聯。Rails嵌套協會與first_or_create
問題是作者和插畫家有時是同一個人。如果您點擊插圖畫家,我希望看到他/她編寫或說明的具體問題。如果我設置了has_one belongs_to association
,我只會獲得插圖或作者的音量結果,但我希望來自同一個「創作者」。
因此,這導致我試着creator
表,但我無法弄清楚如何放置關聯。我想要一個創作者表,它將name
和creator_id
存儲在作家和插圖畫家中。
然後我想打電話
issue.illustrator.first_or_create!('bob smith')
但是,這是不對的。 我不想獨立的插圖畫家和作家表,因爲他們每個人都有相同的名字。我需要進一步抽象出來,但我似乎無法弄清楚。
我想我想創建一個新的創建者記錄(如果不存在),並將creator_id
存儲在插圖表中,以便我可以引用issue.illustrator.name,但名稱值實際上在創建者表中。
難道只有更好的方法來完成整個任務嗎?
我越想越想用「IS a」而不是「HAS a」這個詞。作家是一個創作者,沒有多少... 但是我還沒有學到任何有關創建自定義rails繼承的知識,但是,這是正確還是過度思考呢? – tehfailsafe 2013-04-11 05:44:20