会话到期时,购物车对象会发生什么?

时间:2011-03-10 15:01:46

标签: ruby-on-rails shopping-cart

我正在关注敏捷Web开发教程,我遇到了当前实现的恼人问题。如果会话更改或过期,则购物车仍存在于数据库中。 Rails如何处理这些无用的购物车对象?

由于

2 个答案:

答案 0 :(得分:1)

通常,后台流程会经常删除旧的购物车。当有人购物时,您需要防止重新创建会话。如果您使用它来跟踪购物车,那么这样做会被视为一个错误。

如果您还拥有用户ID,则具有用户ID的购物车可以检索到其他会话中。在这种情况下,后台进程可能比匿名购物车保持更长时间。检索丢失的购物车需要更多的代码,但可能是一个很好的功能。

答案 1 :(得分:0)

正如您所看到的,每当有人进入您的应用时,它就会创建一个新的购物车 对象(显然也是一个新的购物车行)....所以最后你会有很多无用的购物车行(例如那些没有结帐的用户)。另一种选择是改变购物车的创建方式,另一种是像Billthor所说:制作后台流程(或rake任务)来销毁所有无用的推车