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

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

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.

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