假設User
有很多Receipt
,我希望Receipt
的所有實例在父實體User
被刪除時銷燬。何處使用dependent::destroy
是什麼寫作的區別是:
(1)在User
模型,has_many :receipts, dependent: :destroy
(2)在Receipt
模型,belongs_to :user, dependent: :destroy
有什麼建議?
假設User
有很多Receipt
,我希望Receipt
的所有實例在父實體User
被刪除時銷燬。何處使用dependent::destroy
是什麼寫作的區別是:
(1)在User
模型,has_many :receipts, dependent: :destroy
(2)在Receipt
模型,belongs_to :user, dependent: :destroy
有什麼建議?
(1)在用戶模式的has_many:收據,取決於:摧毀
如果用戶被銷燬,其關聯收據也將被銷燬。
(2)在接到模型,belongs_to的:用戶,取決於:摧毀
如果收到被破壞比其父的用戶將被銷燬,沒有其他相關收益將不被破壞,但會而成爲孤兒。據docs
這取決於:當belongs_to的在 結合使用與另一個類,因爲 一個的has_many關係的潛力,離開孤立的記錄後面不應該被指定選項。
(1)在用戶模型中,的has_many:收據,取決於:破壞
在此,如果用戶銷燬然後所有相關聯的收據將被銷燬
(2)在收據模型,belongs_to的:用戶,相關:摧毀
這裏,如果收據被毀則屬於用戶將被銷燬
您可以指定:用以下三種形式相關的選項: