Module

Flash

Includes:

The flash provides a way to pass temporary objects between actions. Anything you place in the flash will be exposed to the very next action and then cleared out. This is a great way of doing notices and alerts, such as a create action that sets flash[:notice] = "Successfully created" before redirecting to a display action that can then expose the flash to its template. Actually, that exposure is automatically done. Example:

class WeblogController < ActionController::Base
  def create
    # save post
    flash[:notice] = "Successfully created post"
    redirect_to :action => "display", :params => { :id => post.id }
  end

  def display
    # doesn't need to assign the flash notice to the template, that's done automatically
  end
end

display.erb
  <% if flash[:notice] %><div><%= flash[:notice] %></div><% end %>

This example just places a string in the flash, but you can put any object in there. And of course, you can put as many as you like at a time too. Just remember: They’ll be gone by the time the next action has been performed.

See docs on the FlashHash class for more details about the flash.

Modules
InstanceMethods
Classes
FlashHash
FlashNow
Public Methods
included
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.