会话未初始化

时间:2013-10-07 19:19:24

标签: ruby-on-rails ruby session

过去4天我一直在努力了解发生的事情,以便会话不再被初始化。

我的应用程序运行正常,直到有一天我突然开始出错

  

未定义的局部变量或方法`session'for< StaticPagesController:0x7c84728>

我调试了它并将其追踪到request_forgery_protection.rb下的action_controller\metal文件。

def form_authenticity_token
  session[:_csrf_token] ||= SecureRandom.base64(32)
end

所以,显然,会话没有被加载。

然后我尝试了How force that session is loaded?的建议,如下所示。

def root

  if signed_in?
    ...
  else 
    session[:init] = true
    session[:init]
    @prospect = Prospect.new()
    render 'retailers/retailers_home'
  end
end

但仍然出现同样的错误。

在我的初始化程序session_store.rb下,一切似乎都很好:

RecibosOnline::Application.config.session_store :cookie_store, key: '_RecibosOnline_session'

因为这个确切的代码适用于其他开发人员的计算机以及其他服务器。 所以这必须是我的机器特有的......但为什么?

可能导致这种情况的原因是什么?

1 个答案:

答案 0 :(得分:1)

当所有其他方法都失败并且没有任何意义时,请重置世界:

git clean -fdx