Sinatra 没有通过 Chrome 上的重定向来保持我的会话。它正在创建一个全新的会话,我丢失了所有以前的会话数据。
作为一个例子(类似于Sinatra 文档),我正在做这样的事情:
enable :sessions
get '/foo' do
session[:user_id] = 123
session[:session_id] # "ABC", for example
redirect to('/bar')
end
get '/bar' do
# this is "DEF" when responding to Chrome (wrong),
# but "ABC" when responding to Firefox or Safari (right)
session[:session_id]
# this is nil when responding to Chrome (wrong),
# but 123 when responding to Firefox or Safari (right)
session[:user_id]
end
我认为这与不同浏览器在重定向响应后如何响应处理会话有关。有没有人见过类似的东西,或者对如何在仍然使用会话的同时解决这个问题有任何想法?
提前致谢!