【问题标题】:Unique Session ids in RailsRails 中的唯一会话 ID
【发布时间】:2015-01-12 05:58:17
【问题描述】:

我为我正在开发的网络应用程序制作了一个购物车模型。它只是一个标准的 ruby​​ on rails 模型。

它允许用户将产品添加到购物车,但只有当他们是添加该商品的用户时才会向他们显示。但是,我想让尚未登录的用户将商品添加到购物车。

现在我正在使用设计,因此我可以检查 current_user,并将该购物车项目分配给该用户。但是,是否有类似的唯一会话 ID 或任何我可以用来模拟用户的东西。所以我只显示添加到一个人的项目?

这样做的原因是我希望我的用户在要求他们登录并创建帐户之前尽可能多地完成订购流程。

谢谢

【问题讨论】:

  • 您可能想阅读this

标签: ruby-on-rails ruby devise


【解决方案1】:

一个简单的方法是创建一个购物车,然后将该标识符添加到会话中,而不管他们的登录状态如何。

例如:

@shopping_cart = ShoppingCart.create(user: current_user)
session[:shopping_cart_id] = @shopping_cart.id

稍后您可以检索当前的购物车(如果有),作为 before_action 处理程序。

【讨论】:

    【解决方案2】:

    我曾处理过类似的问题。我所做的是,我使用了session_id。首先,您需要一个表(比如product_list)来临时保存product 列表。将每个productsession_id 一起填充到此表中。这将帮助您识别product_listactive user 的关联。在结帐时将记录从product_list 复制到您的shopping_cart 表并从product_list 删除记录。

    试试这个,它可能会帮助你解决当前的问题。

    【讨论】:

      猜你喜欢
      • 2010-10-23
      • 2010-09-13
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2012-09-21
      • 1970-01-01
      • 2011-07-29
      相关资源
      最近更新 更多