aboutsummaryrefslogtreecommitdiffstats
path: root/railties/doc/guides/actioncontroller/session.txt
diff options
context:
space:
mode:
Diffstat (limited to 'railties/doc/guides/actioncontroller/session.txt')
-rw-r--r--railties/doc/guides/actioncontroller/session.txt21
1 files changed, 21 insertions, 0 deletions
diff --git a/railties/doc/guides/actioncontroller/session.txt b/railties/doc/guides/actioncontroller/session.txt
index 0a44bfd802..467cffbf85 100644
--- a/railties/doc/guides/actioncontroller/session.txt
+++ b/railties/doc/guides/actioncontroller/session.txt
@@ -162,3 +162,24 @@ class MainController < ApplicationController
end
------------------------------------------
+
+==== flash.now ====
+
+By default, adding values to the flash will make them available to the next request, but sometimes you may want to access those values in the same request. For example, if the `create` action fails to save a resource and you render the `new` template directly, that's not going to result in a new request, but you may still want to display a message using the flash. To do this, you can use `flash.now` in the same way you use the normal `flash`:
+
+[source, ruby]
+------------------------------------------
+class ClientsController < ApplicationController
+
+ def create
+ @client = Client.new(params[:client])
+ if @client.save
+ # ...
+ else
+ flash.now[:error] = "Could not save client"
+ render :action => "new"
+ end
+ end
+
+end
+------------------------------------------