【发布时间】:2019-06-12 06:06:34
【问题描述】:
我正在按照设计方法为我的 Rails 应用程序创建访客用户 https://github.com/plataformatec/devise/wiki/How-To:-Create-a-guest-user
我使用 cookie 而不是会话(如下代码),以尝试为每个客户端设备维护相同的用户,但是当我关闭浏览器并再次打开时,cookie 没有保存并创建了一个新用户。我在 Chrome 和 Firefox 上都试过了,两者的行为都是一样的。
def create_guest_user
u = User.new(:name => "guest", :email => "guest_#{Time.now.to_i}#{rand(100)}@example.com", guest: true)
u.save!(:validate => false)
cookies.signed.permanent[:guest_user_id] = u.id
u
end
当我在 chrome 上检查会话到期时,它的浏览器关闭不是应该的那样永久。我也尝试明确设置到期日期,但仍然遇到同样的问题
有人知道这个问题和可能的解决方案吗?
【问题讨论】:
标签: ruby-on-rails ruby http cookies devise