【问题标题】:What happens to cart object when session expires?会话到期时购物车对象会发生什么?
【发布时间】:2011-07-12 19:17:52
【问题描述】:

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

谢谢

【问题讨论】:

  • 听起来更像是一个哲学问题

标签: ruby-on-rails shopping-cart


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    如果您也有用户 ID,则可以将具有用户 ID 的购物车检索到其他会话中。在这种情况下,后台进程可能会比匿名购物车更长时间地保留它们。找回丢失的购物车需要更多的代码,但可能是一个不错的功能。

    【讨论】:

    • 感谢您的回答,现在说得通了。
    猜你喜欢
    • 2021-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-18
    • 1970-01-01
    相关资源
    最近更新 更多