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 ... :-((