POSTリクエストをリダイレクトしようとすると、Railsのフラッシュハッシュが消去されていることがわかりました。
最初のリクエストがGETの場合、リダイレクトは正常に機能します。
config/routes.rbにあります
post 'test/hello'
#get 'test/hello' #uncomment this line and comment out the post and the flash is preserved
get 'test/goodbye'
app / controllers/test_controller.rbにあります
def hello
respond_to do |format|
format.html do
redirect_to movies_goodbye_url, :notice => "I disappear on post requests"
end
end
end
def goodbye
end
app / views / test/goodbye.html.hamlで
%h1 Test#goodbye
%p#alert= alert
%p#notice= notice
このアクションで、エラーの場合に既存のビューの1つにリダイレクトするフォーム送信からの投稿を処理する必要があります。私はレールにかなり慣れていないので、このユースケースを処理するためのより良い方法がある場合は、私に知らせてください。