2010-11-19 57 views

回答

1

沒有必要,如果你只是想有一個Web應用程序訪問數據庫。如果你想用另一個應用程序或直接訪問數據庫,我會建議你創建外鍵,因爲它們會讓你更好地瞭解那裏正在發生的事情,不會讓你插入錯誤的信息或錯誤地刪除(如果你設置刪除選項)

+0

你是指a.destroy刪除?或者:dependent =>:destroy? – wizztjh 2010-11-19 18:25:17

+1

在Rails中,刪除只會刪除單條記錄,銷燬將刪除記錄和子女。但是,另外當你通過控制檯或GUI進入你的數據庫時,如果由於某種原因你試圖刪除一條記錄,它不會讓你如果這會導致離開任何寄養兒童。 – 2010-11-19 19:29:18

3

您不需要創建任何這樣的約束。您只需創建一個獨立的遷移來創建連接表。可以說,你有2個模型與habtm,用戶和角色。

>> script/generate migration roles_users 

在遷移

create_table :roles_users, :id => false do |t| 
    t.references :user 
    t.references :role 
end 

這就是它!

+0

ohh,謝謝,我只是好奇你爲什麼禁用:ID? – wizztjh 2010-11-19 18:23:14

+0

因爲不需要id主鍵。 – Shreyas 2010-11-19 18:26:01