加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails会话不会持续存在

发布时间:2020-12-17 02:30:19 所属栏目:百科 来源:网络整理
导读:我无法在本地环境和外部登台环境中保持Rails会话的持久性.现在我只是做一些基本的事情,比如我的一个控制器中的session [:cart_id] = 1.如果我重新加载页面会话空出{}.我必须遗漏一些基本的东西,因为我在网上找不到任何关于这种情况的信息. 更新1 即使是最简
我无法在本地环境和外部登台环境中保持Rails会话的持久性.现在我只是做一些基本的事情,比如我的一个控制器中的session [:cart_id] = 1.如果我重新加载页面会话空出{}.我必须遗漏一些基本的东西,因为我在网上找不到任何关于这种情况的信息.

更新1

即使是最简单的代码也会显示会话不会持续存在,例如我可以在我的操作中执行简单的会话[:counter] = session [:counter] .to_i 1,然后在我的视图中调用会话,每次刷新我得到的浏览器:

{} {“session_id”=>“280031b7eb3b4bf612da85acc8815??b3b”,“counter”=> 1}

每次都会生成一个新的session_id.

更新2

我删除了:domain => :来自我的会话商店的所有选项和事情看起来更好,但仍然没有坚持.现在session_id只生成一次,因此这是持久的.但是如果我在会话中存储一个整数,它仍然不会持久到下一个请求.

解决方法

我有同样的问题,这让我疯了.

原来我在我的ApplicationController中有一个protect_from_forgery,它用NullSession默默地替换了会话.

当我运行raise session.class.inspect时,我注意到了这一点.

使用带有:: exception的protect_from_forgery可以正确地揭示底层问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读