小编tac*_*ine的帖子

如果不在会话中,如何/在何处临时存储ActiveRecord对象?

我正在重构一个基于Rails的事件注册应用程序,该应用程序的结帐过程会触及几个ActiveRecord模型.理想情况下,除非结帐完成(付款已成功处理),否则不应保存对象.我不完全确定为什么暂时将这些对象序列化到会话中会是一件坏事,但我已经一遍又一遍地读到它的坏兆头.至少不存在与现有记录不同步的风险,因为不会有任何现有记录.

我的问题是:

A)即使在其他地方不存在记录,在会话中存储记录仍然存在问题吗?即使我修改了模型,也不能杀死所有现有的会话?

B)如果它可能导致问题,我应该如何暂时存储对象?我应该保存它们并使用布尔标志来指示永久状态和临时状态吗?然后cron一个脚本来清除过时的临时对象?

思考?

session refactoring activerecord ruby-on-rails

10
推荐指数
1
解决办法
2678
查看次数