Sto refactoring un'applicazione di registrazione degli eventi basata su Rails che ha un processo di checkout che colpisce diversi modelli di ActiveRecord. Idealmente, gli oggetti non dovrebbero essere salvati a meno che il checkout non sia completato (il pagamento è stato elaborato correttamente). Non sono del tutto sicuro del motivo per cui sarebbe una brutta cosa serializzare questi oggetti nella sessione temporaneamente, ma ho letto più e più volte che il suo cattivo mojo. Almeno non c'è il rischio di uscire dalla sincronizzazione con i record esistenti, in quanto non ci saranno record esistenti.Come/dove memorizzare temporaneamente gli oggetti ActiveRecord se non in sessione?
Le mie domande sono:
A) E 'ancora problematico record memorizzare nella sessione, anche se non esistono altrove? Anche se modifico un modello, non posso uccidere tutte le sessioni esistenti?
B) Se può causare problemi, come devo memorizzare temporaneamente oggetti? Devo salvarli e utilizzare un flag booleano per indicare lo stato permanente rispetto a quello temporaneo? Quindi cron uno script per eliminare gli oggetti temporanei stantii?
Pensieri?
Penso che questa sia la strada da percorrere. Concettualmente, ha senso usare il modello. I dati temporanei, non ancora validi, non dovrebbero essere nel database, giusto? In pratica, però, posso vedere che non ha senso e che questo tipo di soluzione sarà più robusto. Grazie per il tuo contributo. – tacomachine