Sie wollen im Grunde nur eine Liste von Dingen zu serialisieren, wenn sie ein Konto erstellen. Sie können dies in einer Sitzung speichern, in einem persistenten Cache wie Memcached (obwohl Sie nicht garantiert sind, dass es sich um Persistenz handelt) oder in einem benutzerdefinierten Modell/einer benutzerdefinierten Tabelle. Es gibt nicht wirklich eine einzige akzeptierte Möglichkeit, dies in Rails zu tun, also liegt es an Ihnen, wie Sie es implementieren.
Was Sie tun könnten, wenn Sie bei der Rails-Methode bleiben wollen, ist ein transient
Flag auf einem Datensatz zu setzen, dann speichern Sie es. Sobald sich der Benutzer registriert hat, können Sie das Übergangsflag entfernen. Führen Sie einen Cron-Job aus, der alle temporären Datensätze löscht, die älter als 10 Minuten sind, und alle Ihre vor dem Destroy-Aufruf ausgeführten Callbacks sollten ausgeführt werden, damit Sie alle Statusänderungen rückgängig machen können, die sie verursacht haben. Das ist eine "schwere" Lösung, aber es ist einfach zu implementieren und ermöglicht es Ihnen, die Modelle von Rails einfach zu nutzen.