2012-12-29 28 views
0

許多Rails教程將ActiveRecord關聯的設置描述爲需要建立外鍵的數據庫遷移(例如,使用has_many/belongs_to關係)。然而,其他文檔似乎完全忽略了遷移部分,只是更新模型,嵌套路線等。在Rails中建立ActiveRecord關聯時,是否需要遷移數據庫?

遷移總是需要將兩個資源連接在一起,還是隻需要某些類型的關聯?

+0

有用的指南:http://guides.rubyonrails.org/association_basics.html –

回答

1

你必須始終有相關表之間的外鍵,例如:如果你有兩個型號UserTask,你需要存儲的任務屬於哪個用戶,所以你總是需要的關係外鍵,可以在數據庫中手動創建它們而無需遷移,但這是一種非常糟糕的做法,因爲遷移提供回滾,並且在與同一項目中的其他人一起工作時非常重要。

+1

如果一個外鍵總是必要的,我會猜測有些文檔將遷移部分遺漏爲「顯而易見」,但沒有任何這對初學者來說顯而易見 - 感謝您清除這個問題! –

1

是它的nessesary創建協會。但是在某處我看到創建asscosiations的gem僅僅用於在Model中註釋has_many/belongs_to屬性。

相關問題