首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails Cookies不保存- Guest Devise用户

Rails Cookies不保存- Guest Devise用户
EN

Stack Overflow用户
提问于 2019-01-18 08:16:54
回答 1查看 426关注 0票数 0

我正在遵循一种巧妙的方法,为我的Rails应用程序https://github.com/plataformatec/devise/wiki/How-To:-Create-a-guest-user创建来宾用户

我正在使用cookie而不是会话(如下面的代码),以尝试维护每个客户端设备的相同用户,但是,当我关闭浏览器并再次打开时,cookie没有保存,并创建了一个新用户。我已经在Chrome和Firefox上试过了,两者的行为是一样的。

代码语言:javascript
复制
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上检查会话过期时,它的浏览器并没有像它应该的那样永久关闭。我也尝试显式地设置过期日期,但仍然得到相同的问题

有没有人知道这个问题和可能的解决方案?

EN

回答 1

Stack Overflow用户

发布于 2019-01-18 18:51:41

尝尝这个

代码语言:javascript
复制
response.set_cookie(:guest_user_id, {
  value: u.id,
  path: '/',                 # cookie remains all pages in this domain
  expires: 2.weeks.from_now, # cookie expires after 2 week
  httponly: true,            # prevent javascript modify this cookie
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54246115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档