Mit einem regulären has_many
gibt es die Option :dependent => :destroy
, die Verknüpfungen zu löschen, wenn der übergeordnete Datensatz gelöscht wird. Mit has_many :through
sind möglicherweise andere Eltern den untergeordneten Datensätzen zugeordnet, sodass :dependent => :destroy
keine Auswirkungen hat.Verknüpfungen nach dem letzten has_many löschen: Durch Datensatz gelöscht
Wie stellen Sie sicher, dass untergeordnete Datensätze gelöscht werden, nachdem sie aus der letzten HMT-Zuordnung verwaist sind?
Um in eine alte Frage/Antwort zu stoßen, hatte ich eine 'has_many: through' Assoziation; Ich nannte 'destroy' auf dem Through-Modell, aber ich wollte jedes Modell auf der anderen Seite der Assoziation löschen, das verwaist sein könnte. Ich habe diesen Code in mein Through-Modell eingefügt, und da das Modell am Ende, das zerstört wird, nur ein 'gehört' ist, habe ich den Aufruf 'jedes' entfernt. Danke für den Schub in die richtige Richtung. –