diff options
author | Andrew White <andrew.white@unboxed.co> | 2017-02-25 16:55:07 +0000 |
---|---|---|
committer | Andrew White <andrew.white@unboxed.co> | 2017-02-25 17:07:07 +0000 |
commit | 558336ee2afad116077df07b5b963077ac5f5021 (patch) | |
tree | fb6b279b5c42c4c82af0da6bccd1710063ee688c /actionpack/lib | |
parent | b04473e51ec19537a0971c6cd921a86d16510f38 (diff) | |
download | rails-558336ee2afad116077df07b5b963077ac5f5021.tar.gz rails-558336ee2afad116077df07b5b963077ac5f5021.tar.bz2 rails-558336ee2afad116077df07b5b963077ac5f5021.zip |
Commit flash changes when using a redirect route.
In ca324a0 the flash middleware was effectively removed by its
constructor returning the app it was passed and the `commit_flash`
call was moved to the `ActionController::Metal#dispatch` method.
This broke any redirect routes that modified the flash because the
redirect happens before `dispatch` gets called.
To fix it, this commit adds a `commit_flash` call in the `serve`
method of `ActionDispatch::Routing::Redirect`.
Fixes #27992.
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/redirection.rb | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/actionpack/lib/action_dispatch/routing/redirection.rb b/actionpack/lib/action_dispatch/routing/redirection.rb index dabc045007..e8f47b8640 100644 --- a/actionpack/lib/action_dispatch/routing/redirection.rb +++ b/actionpack/lib/action_dispatch/routing/redirection.rb @@ -36,6 +36,8 @@ module ActionDispatch uri.host ||= req.host uri.port ||= req.port unless req.standard_port? + req.commit_flash + body = %(<html><body>You are being <a href="#{ERB::Util.unwrapped_html_escape(uri.to_s)}">redirected</a>.</body></html>) headers = { |