Using a link in a view , flash message doesn't clear

I have a specific application helper do display all my flash messages
( according to my css )

def flash_messages
result =""
%w(notice warning error alert).each do |msg|
# change skin labels
box = “info_box” if msg == “notice”
box = “tip_box” if msg == “warning”
box = “error_box” if msg == “error”
box = “error_box” if msg == “alert”
result << content_tag(:div, content_tag(:p,
flash.now[msg.to_sym]), :class => “#{box}”) unless
flash[msg.to_sym].nil?
end
result.html_safe
end

and I use <%= flash_messages %> to display the flash[:error] when
rendering again the :new action
this is working fine,… however in the form , I have a link to go back
to the :index page
upon the index page display , the flash[:error] is not cleared… ( it
will if I add flash[:error] = nil? in my index action before
rendering…

I thought that : flash.now[msg.to_sym]) would be enough … but seems
not to be the case

any clue ? thanks

On Wed, Jan 18, 2012 at 7:23 PM, Erwin [email protected] wrote:

   box = "error_box" if msg == "alert"

to the :index page
upon the index page display , the flash[:error] is not cleared… ( it
will if I add flash[:error] = nil? in my index action before
rendering…

I thought that : flash.now[msg.to_sym]) would be enough … but seems
not to be the case

any clue ? thanks

The helper doesn’t have anything to do with the problem. In your
controllers,
make sure that you’re using flash.now if you’re rendering a template and
flash
if redirecting. So I think you have something like

flash[:error] = ‘Error!’
render :new

in your controller. Change flash to flash.now and it should work.


You received this message because you are subscribed to the Google G.
“Ruby on Rails: Talk” group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.

Thanks a lot Jim … I forgot it … :-((