Ruby on rails 保存Rails 4在&;之前设计会话Id;登录后

Ruby on rails 保存Rails 4在&;之前设计会话Id;登录后,ruby-on-rails,devise,Ruby On Rails,Devise,我正在尝试实现一个电子商务应用程序。在其中,我允许用户在登录之前浏览产品并将其放入购物车。我只在结账时提示用户登录 但是,由于用户的会话id在登录时发生更改,我无法跟踪该用户。因此,我无法将用户放入购物车(存储在redis中)的项目与用户登录应用程序后放入的项目相关联 有人知道怎么才能避免这种情况吗 谢谢 干杯 找到了解决办法。所有需要做的就是设置会话。选项[:续订]=false,并且会话id在登录前后仍然相同 请参阅下面的实施 class SessionsController < Dev

我正在尝试实现一个电子商务应用程序。在其中,我允许用户在登录之前浏览产品并将其放入购物车。我只在结账时提示用户登录

但是,由于用户的会话id在登录时发生更改,我无法跟踪该用户。因此,我无法将用户放入购物车(存储在redis中)的项目与用户登录应用程序后放入的项目相关联

有人知道怎么才能避免这种情况吗

谢谢


干杯

找到了解决办法。所有需要做的就是设置会话。选项[:续订]=false,并且会话id在登录前后仍然相同

请参阅下面的实施

class SessionsController < Devise::SessionsController
  respond_to :json

  def create
    super
    session.options[:renew] = false
  end

  def destroy
    logger.info "Logging out: #{current_user.email}; Session Id: #{session.id}"
    $redis.del "cart_#{session.id}"
    super
  end

end
class sessioncontroller
请参阅,我只想指出,这也规避了此功能提供的会话固定安全性。