0

Ich bin eine Anwendung, wo ich eine eins-zu-eins-Beziehung, Reservierung 'has_one' bestellen. Jetzt ist meine Frage, wie kann ich Reservierung von der DB löschen, wenn ein Benutzer beschließt, das Formular für die Bestellung nicht auszufüllen? Ich habe versucht, nach Möglichkeiten zu suchen, dies zu tun, aber das größte Problem ist nicht zu wissen, wonach gesucht werden soll.Rails 4 - Speichern/Löschen mit eins-zu-eins-Zuordnung

Momentan speichert meine Erstellungsaktion die Reservierung, sobald das Formular abgeschickt wurde, und leitet dann zum Formular für die Zahlungsabwicklung weiter.

+0

Sollte eine "Reservierung" immer eine "Bestellung" haben? –

+0

Ja das ist richtig. – ayounis90

Antwort

1

Anstatt sich darum zu kümmern, eine Reservierung zu löschen, wenn eine Bestellung nicht abgeschlossen ist, warum nicht einfach die Erstellung der Reservierung an erster Stelle verhindern?

Sie können die Erstellung beider Objekte in einer einzelnen Seite kombinieren oder Parameter oder Objekte zwischen den Schritten Ihres Controllers übergeben.

+0

Danke, ich akzeptiere diese Antwort, weil ich den Teil über das Übergeben von Parametern oder Objekten zwischen den Schritten des Controllers erwähnt habe. Ich habe die Anwendung bereits so eingerichtet, dass ich nicht zurückgehen kann und das, was ich zu viel habe, ändern kann. Ich wollte auch keine einzige Seite erstellen, da die Formulare zu lang werden würden. – ayounis90

1

Sie beide auf einmal schaffen sollen

Ich denke, die beste Wahl before_save in Auftragsmodell zu verwenden, ist eine Reservierung

Auch für accepts_neseted_attributes so beide überprüfen erstellen kann mit jedem erstellt werden andere