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

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

谢谢

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

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

正如你所看到的,每当有人进入你的应用程序时,它就会创建一个新的Cart对象(显然也是一个新的推车行)….所以最后你会有很多无用的推车行(例如不签出任何东西的用户)。 另一种方法是改变购物车的创建方式,另一种方法就像Billthor所说:制作后台流程(或rake任务)来销毁所有无用的推车