私は現在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に設定されているため、メッセージが表示されないはずです。ただし、「操作が完了しました!」と表示されます。私が「オペレーション」ルートと呼ぶたびに。私は何か間違ったことをしていますか?
読んでくれてありがとう!