flash not clearing?

hi all,

using rails 1.2.3 on windows xp

i have a controller method like so:

def index   ...do stuff...   if some_error     flash[:notice] = "error!"   end end

and the layout has:   <% if flash[:notice] -%>   <div class="flash"><%= flash[:notice] %></div>   <% end -%>

the form for index submits via GET method. if i cause the some_error condition through the form, i get the flash message as expected. however, if i immediately submit again with conditions that do not cause some_error, i still get the flash message again. it takes until submitting a third time for the flash message to clear. isn't it supposed to clear itself after it renders the first time in the layout? i know i'm not setting it again because i have a debug statement when it gets set in the controller.

ok, nevermind - i RTFM: http://api.rubyonrails.org/classes/ActionController/Flash/FlashHash.html

the method flash.now[:message] = "Hello current action"

is supposed to be used when rendering the current action; flash[:notice] = 'some message' is to be used when using redirect_to

What you describes maps with my understanding of flash. From ActiveController:Flash: "Anything you place in the flash will be exposed to the very next action and then cleared out."

I think what you want is flash.now: flash.now[:notice] = "error!"

- Hal

jemminger wrote:

yep - just saw that in the docs too. thanks for the reply!