我正在尝试构建一个简单的购物车,我读到了控制它们,并看到有3种方法来控制它们。 一个是cookie,另一个是基于会话,最后一个是数据库模型。 我想知道哪一个是更好的选择? 有人说数据库方法比较好,但也比较难。 我也在寻找数据库模型教程...
答案 0 :(得分:3)
你真正想要谈论的是会议。您可能会在用户结账时将一些购物车数据存储在会话中,因此这可能是您可能产生混淆的地方。
您的问题的答案取决于您在会话中存储的数据类型和数量。 Cookie具有大小限制,您不应将未加密的敏感用户数据存储在其中。有些人会说你甚至不应该把信用卡号码这样的东西加密。 DB支持的会话的缺点是你必须经常清除它们。这可以通过cron作业运行rake任务轻松完成,但它仍然是你必须考虑的事情。文件支持的会话不经常使用,只是为了让您快速启动和运行。我不会在生产中使用文件支持的会话。
Authlogic是一个可以引入Rails项目的宝石。它提供了可以继承的UserSession模型。它有很多功能,可以完全配置。
答案 1 :(得分:2)
我构建的购物车将信息存储在数据库中,只将cart_id存储在会话中。那么你每隔几天就需要一份从db清理未实现的购物车的工作。