在Rails 4中丢失cookie

时间:2013-12-30 17:30:27

标签: ruby-on-rails cookies passenger session-cookies

由于某些原因,我的应用中的会话cookie未在生产中正确设置。这个问题似乎只是在一夜之间出现,我无法改变我的想法。只涉及一个领域。

当我在localhost上开发应用程序时,会设置会话cookie,因此服务器发生了一些奇怪的事情。如果我检查服务器端的cookie,它会给我一个列表,但是没有在浏览器中设置cookie。此外,我可以在服务器端手动创建一个测试cookie,它会显示在浏览器上。它只是会话cookie没有出现。

我尝试将会话存储从memcached更改为cookiestore,这似乎没有帮助 - 仍然没有会话cookie。所以我不认为这是session_store代码。

使用Rails 4.0.2和乘客4.0.19以及它安装的任何版本的nginx。红宝石1.9.3。任何帮助将不胜感激 - 我完全难过。

1 个答案:

答案 0 :(得分:1)

他们已经在github repo中修复了这个问题,并且随时都会被释放。

无论如何,如果某人在rails2中,并且仍有此错误,或者不想更新Passenger,我们可以修复它:

class ApplicationController < ActionController::Base

   after_filter :set_headers

   def set_headers
      response.headers["Date"] = "#{Time.now.utc}"
   end

end

更新

这是official post解释发生了什么。

我刚刚将Phusion Passenger gem更新为4.0.30。它是非常直接的,并修复了这个bug。 Oficial Instruction here