1

我正在尝试构建一个简单的购物车,我阅读了有关控制它们的信息,发现有 3 种方法可以控制它们。一个是cookies,另一个是基于会话的,最后一个是数据库模型。我想知道哪个是更好的选择?有人说数据库方法更好,但也更难。我也在寻找数据库模型教程...

4

2 回答 2

3

你真正谈论的是会话。您可能会在用户结帐时将一些购物车数据存储在会话中,因此这可能是您的困惑所在。

您的问题的答案取决于您在会话中存储的数据类型和数量。Cookie 有大小限制,您不应在其中存储未加密的敏感用户数据。有人会说你甚至不应该把信用卡号码之类的东西加密。数据库支持的会话的缺点是您必须经常清除它们。这很容易通过 cron 作业运行 rake 任务来完成,但这仍然是您必须考虑的事情。文件支持的会话不经常使用,还有更多只是为了让您快速启动并运行某些东西。我不会在生产中使用文件支持的会话运行。

Authlogic 是一个可以拉入 Rails 项目的 gem。它提供了一个可以继承的 UserSession 模型。它有很多功能并且是完全可配置的。

于 2009-09-10T02:08:29.140 回答
2

我构建的购物车将信息存储在数据库中,并将 cart_id 存储在会话中。然后,您只需要每隔几天从 db 清理未完成的购物车的工作。

于 2009-09-10T02:10:39.263 回答