0
Ich habe festgestellt, dass in der Methode "rails destroy" eine zusätzliche Transaktion die Abfrage umschließt. Daher, wenn ich versuche, das folgende nicht funktioniert.Aktion "Löschen und Einfügen von Datensätzen" in derselben Transaktion ausführen?
ActiveRecord::Base.transaction do
@model_a.destroy_all
@new_model_list.each do |item|
item.create!
# Error occurs some point
# No rollback for those deleted records
end
end
der richtige Weg Active Transaktion zu verwenden, ist entweder zu verwenden 'Active :: Base.transaction' oder' SomeModel.transaction'. Ich bin mir nicht sicher, wie Ihr Code die Zeile destroy_all ausführt. – TheGeorgeous
Meine Schuld. Ich vermisse :: Basisteil. Danke. –