Auftrags-Controller: vorhandene orderitems vor Neu-Schreiben nicht löschen …
Hintergrund: Wird einem Rose-Object eine Relationship als Array übergeben (z.B. $order->orderitems(@items), so löscht Rose dei DB-Einträge und schreibt sie neu. In dem Fall werden allerdings auch DB-Trigger ausgelöst, was hier zum unerwünschten Löschen der record_links auf item-Ebene führte. Hier wurden die items via assign_attributes als ganzes dem Order-Objekt hinzugefügt.
Jetzt werden die items einzeln hinzugefügt, wenn sie neu sind und die vorhandenen, die aus der Makse entfernt wurde, werden extra gelöscht.
Auftrags-Controller: vorhandene orderitems vor Neu-Schreiben nicht löschen …
Hintergrund: Wird einem Rose-Object eine Relationship als Array übergeben (z.B.
$order->orderitems(@items), so löscht Rose dei DB-Einträge und schreibt sie neu.
In dem Fall werden allerdings auch DB-Trigger ausgelöst, was hier zum
unerwünschten Löschen der record_links auf item-Ebene führte.
Hier wurden die items via assign_attributes als ganzes dem Order-Objekt
hinzugefügt.
Jetzt werden die items einzeln hinzugefügt, wenn sie neu sind und die
vorhandenen, die aus der Makse entfernt wurde, werden extra gelöscht.