私は現在Sinatraを学んでいますが、セッション変数をnilに設定できないようです...私は何時間も探しています。動作しません。奇妙なことは、私のマシン上ではローカルで動作することですが、Herokuでは動作しません。要するに、私のコードは次のようになります。私は、「送信-oprationを」ルート呼び出す場合Sinatra on Heroku:セッション変数をnilに設定できません
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
だから、それは「操作」ルートに私をリダイレクトし、それがセッションの表示[:メッセージ]変数を。 「操作」ページをリフレッシュすると、前のメッセージがnilに設定されているので、メッセージはありません。しかし、それでも "Operation completed!"と表示されます。私が「操作」ルートを呼び出すたびに。私は何か間違っているのですか?
読んでいただきありがとうございます!
ああを見てみましょう、申し訳ありません...私は実際に質問に答えませんでした。 session [:message] =メッセージを出力した後にnilが呼び出されています。したがって、実際にはその声明には決して到達しません。 – SeanNieuwoudt