Sehen zerstören Löschungen seiner zugehörigen Elemente , wo DELETE_ALL mehrere Daten aus Selbst Tabelle löschen können alsDELETE * FROM table where field = 'xyz'
: Abhängig mögliche Optionen:
Steuert, was mit den zugeordneten Objekten passiert, wenn deren Besitzer zerstört wird. Beachten Sie, dass diese als Rückrufe implementiert sind und Rails Rückrufe der Reihe nach ausführt. Daher können andere ähnliche Rückrufe das: abhängige Verhalten beeinflussen, und das :dependent
Verhalten kann andere Rückrufe beeinflussen.
:destroy
bewirkt, dass alle zugehörigen Objekte ebenfalls zerstört werden.
:delete_all
bewirkt, dass alle zugeordneten Objekte direkt aus der Datenbank gelöscht werden (Rückrufe werden also nicht ausgeführt).
:nullify
bewirkt, dass die Fremdschlüssel auf NULL gesetzt werden. Rückrufe werden nicht ausgeführt.
:restrict_with_exception
bewirkt, dass eine Ausnahme ausgelöst wird, wenn Datensätze zugeordnet sind.
:restrict_with_error
bewirkt, dass dem Eigentümer ein Fehler hinzugefügt wird, wenn Objekte zugeordnet sind.
Wenn Sie diese :through
Option verwenden, muss die Zuordnung im Join-Modell zu gehören gehören, und die Datensätze, die gelöscht werden, sind die Join-Datensätze und nicht die zugeordneten Datensätze.