我正在重構一個基於Rails的事件註冊應用程序,該應用程序具有一個結帳過程,可以擊中多個ActiveRecord模型。理想情況下,除非結賬完成(付款已成功處理),否則不應保存這些對象。我不完全確定爲什麼暫時將這些對象序列化到會話中會是一件壞事,但我一遍又一遍地閱讀了它的不好的mojo。至少不存在與現有記錄不同步的風險,因爲不存在任何現有記錄。如果不在會話中,如何臨時存儲ActiveRecord對象?
我的問題是:
A)是不是還是有問題的會話中所存儲記錄,即使它們並不存在於其他地方?即使我修改模型,我是不是可以殺死所有現有的會話?
B)如果可能導致問題,我應該如何臨時存儲對象?我應該保存它們並使用布爾標誌來指示永久狀態還是臨時狀態?然後cron腳本來清除過時的臨時對象?
想法?
我認爲這是要走的路。從概念上講,使用該模型對我來說很有意義。臨時的,尚未生效的數據不應該在數據庫中,對嗎?但實際上,我可以看到它沒有意義,這種解決方案將更加強大。感謝您的輸入。 – tacomachine 2010-02-21 20:01:34