2016-06-07 63 views

回答

0

對於許多情況下,你想消滅在許多領域卻刪除其關聯的家長關聯的結果你不這樣做,如銀行交易等。例如,如果你有一個電子商務網站,有用戶,然後創建帳戶,他們肯定會有與這些帳戶綁定的訂單。當用戶決定他們不再想保留自己的帳戶,他們可能會刪除它,但是你肯定不想破壞它相關的訂單,儘管這些訂單「belonged_to」的帳戶。刪除這些命令可能會使您遇到很多潛在的問題。

+1

如此,儘管在這種情況下它是更常見的_deactivate_帳戶,例如通過翻轉布爾標誌。 – tompave

1

我知道不毀壞家屬的最好理由是不止一個'父母'模特兒has_onehas_many。例如,教育應用程序可能有一個家庭和家庭的子女之間的關係has_many,也有類和孩子之間的關係has_many。如果一個班級被取消,你不會想要刪除已經註冊的孩子。

我見過並沒有真正刪除任何東西每個企業應用程序。如果帳戶或訂單或其他東西被取消,它不會被刪除,但會進入取消狀態。這完全迴避了這個問題:通過關係刪除並不重要,因爲您永遠不會刪除父項。

+0

你可以說'dependent :: destroy'實際上是翻轉訂單上的開關或類似的東西。 –

相關問題