2011-01-22 72 views
2

嗨,我正在使用下列表格。我的表course_enrollments參考user_idcourse_id。兩列合併設置獨特。何時在連接表上設置沒有主鍵的表格

users
course_enrollments
courses

的Rails默認設置的主鍵。我讀過一些使用這種連接表而沒有任何PK的人的文章。例如通過定義:id => false

這種連接表適合嗎?那麼人們註冊或離開課程或搜索註冊的情況如何?謝謝你的時間!

回答

2

當您想使用has_and_belongs_to_many時,您通常會看到:id => false的連接表的遷移,因爲Rails確實不喜歡在這些表上找到:id主鍵。

has_and_belongs_to_many docs

連接表不應該有 主鍵或 關聯的模型。

+0

啊我看到你的回覆thx。但我不使用has_and_belongs_to_many關鍵字,而是使用`has_many:courses,:through =>:course_enrollments`。不一樣嗎?所以我應該從我的連接表中刪除我的PK? – daniel 2011-01-22 22:24:14

1

合併這兩個列設置唯一

因此你的表已經有一個關鍵。除非你需要其他屬性,否則顯然不需要爲它創建另一個關鍵。

相關問題