当尝试重定向 POST 请求时,我发现 rails 的 flash 散列被清除了。
当初始请求是 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
我希望此操作能够处理来自表单提交的帖子,这些帖子在错误情况下重定向到我现有的视图之一。我对 Rails 很陌生,所以如果有更好的方法来处理这个用例,请告诉我。