【发布时间】:2012-01-22 05:50:11
【问题描述】:
我目前正在学习 Sinatra,但我似乎无法将会话变量设置为 nil...我一直在寻找几个小时,但它只是不起作用。奇怪的是它在我的机器上本地工作,但在 Heroku 上不起作用。简而言之,我的代码如下所示:
configure :production do
enable :sessions
set :session_secret, ENV['SESSION_KEY'] || 'whatever'
end
post '/send-operation/?' do
session[:message] = 'Operation completed!'
redirect '/operation/'
end
get '/operation/?' do
if(session[:message])
"The message is: #{session[:message]}."
session[:message] = nil
end
end
所以如果我调用“send-opration”路由,它会将我重定向到“operation”路由并显示 session[:message] 变量。如果我刷新“操作”页面,应该没有任何消息,因为上一条消息已设置为 nil。但它仍然显示“操作完成!”每次我调用“操作”路线。我是不是做错了什么?
感谢阅读!
【问题讨论】:
标签: session heroku sinatra null unset