过去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'
因为这个确切的代码适用于其他开发人员的计算机以及其他服务器。 所以这必须是我的机器特有的......但为什么?
可能导致这种情况的原因是什么?
答案 0 :(得分:1)
当所有其他方法都失败并且没有任何意义时,请重置世界:
git clean -fdx