From b4dac34508dfa492da69be25321c8f31d5f77b8f Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Tue, 6 Sep 2016 23:45:34 +0530 Subject: [PATCH] Document that redirect* don't halt exucution. We explain more on this behavior in 2.3.2, but dont specify that is not halting. Its better to not let developers be caught by surprise. [ci skip] --- guides/source/layouts_and_rendering.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guides/source/layouts_and_rendering.md b/guides/source/layouts_and_rendering.md index 2722789c49..efd5b4638e 100644 --- a/guides/source/layouts_and_rendering.md +++ b/guides/source/layouts_and_rendering.md @@ -630,6 +630,8 @@ to use in this case. redirect_back(fallback_location: root_path) ``` +NOTE: `redirect_to` and `redirect_back` do not halt and return immediately from method execution, but simply set HTTP responses. Statements occurring after them in a method will be executed. You need halt by an explicit `return` or some other halting mechanism, if needed. + #### Getting a Different Redirect Status Code Rails uses HTTP status code 302, a temporary redirect, when you call `redirect_to`. If you'd like to use a different status code, perhaps 301, a permanent redirect, you can use the `:status` option: