Ruby on rails 未仅在生产环境中创建会话cookie

Ruby on rails 未仅在生产环境中创建会话cookie,ruby-on-rails,ruby,session,cookies,ruby-on-rails-4.2,Ruby On Rails,Ruby,Session,Cookies,Ruby On Rails 4.2,我已经为此挣扎了一段时间,只是不明白为什么这不起作用。我使用Firefox/Firebug查看在开发模式下创建的会话cookie,但当我在生产环境中本地运行会话cookie时,不会创建会话cookie。当然,当CSRF令牌不在会话cookie中并且抛出异常时,这会导致各种各样的痛苦 最明显的地方是production.rb与development.rb,因为其余的代码都是一样的,但是我看不出有什么错误,我将这两个文件与一个(测试)新创建的rails应用程序进行了比较 配置信息: 会话存储=>c

我已经为此挣扎了一段时间,只是不明白为什么这不起作用。我使用Firefox/Firebug查看在开发模式下创建的会话cookie,但当我在生产环境中本地运行会话cookie时,不会创建会话cookie。当然,当CSRF令牌不在会话cookie中并且抛出异常时,这会导致各种各样的痛苦

最明显的地方是production.rb与development.rb,因为其余的代码都是一样的,但是我看不出有什么错误,我将这两个文件与一个(测试)新创建的rails应用程序进行了比较

配置信息:

  • 会话存储=>cookie存储(rails默认)
  • 使用::exception(应用程序\u控制器)防止\u伪造

任何想法都很感激。谢谢,Art

当我最近遇到同样的情况时,原来是会话cookie域配置错误的问题

查看应用程序随响应一起发送的HTTP头。我猜
Set Cookie
头是按预期为会话Cookie发送的,但浏览器拒绝保存Cookie,因为头中指定的域不是应用程序运行的实际生产域


要解决此问题,请在会话存储配置中修复域设置。

不,这两个都不是问题。它使用的是Rack::Cached。我没有时间去追查它的原因,只是从我的构建中删除它就停止了问题,而不需要做任何其他事情。但愿我有时间进一步追查这件事来帮助你们

注意