我正在重构一个基于Rails的事件注册应用程序,该应用程序具有一个结帐过程,可以击中多个ActiveRecord模型。理想情况下,除非结账完成(付款已成功处理),否则不应保存这些对象。我不完全确定为什么暂时将这些对象序列化到会话中会是一件坏事,但我一遍又一遍地阅读了它的不好的mojo。至少不存在与现有记录不同步的风险,因为不存在任何现有记录。如果不在会话中,如何临时存储ActiveRecord对象?
我的问题是:
A)是不是还是有问题的会话中所存储记录,即使它们并不存在于其他地方?即使我修改模型,我是不是可以杀死所有现有的会话?
B)如果可能导致问题,我应该如何临时存储对象?我应该保存它们并使用布尔标志来指示永久状态还是临时状态?然后cron脚本来清除过时的临时对象?
想法?
我认为这是要走的路。从概念上讲,使用该模型对我来说很有意义。临时的,尚未生效的数据不应该在数据库中,对吗?但实际上,我可以看到它没有意义,这种解决方案将更加强大。感谢您的输入。 – tacomachine 2010-02-21 20:01:34