【发布时间】:2016-09-01 01:09:09
【问题描述】:
我正在重构一个基于 Rails 的事件注册应用程序,该应用程序的结帐过程会触及多个 ActiveRecord 模型。理想情况下,除非结帐完成(付款已成功处理),否则不应保存对象。我不完全确定为什么将这些对象暂时序列化到会话中是一件坏事,但我一遍又一遍地阅读它的坏魔力。至少没有与现有记录不同步的风险,因为不会有任何现有记录。
我的问题是:
A) 即使在其他地方不存在记录,在会话中存储记录仍然存在问题吗?即使我修改了一个模型,我不能杀死所有现有的会话吗?
B) 如果可能会导致问题,我应该如何临时存储对象?我应该保存它们并使用布尔标志来指示永久与临时状态吗?然后 cron 一个脚本来清除过时的临时对象?
想法?
【问题讨论】:
标签: ruby-on-rails session activerecord refactoring