2010-08-11 2 views
11

Ich zeige Fehlermeldungen und Benachrichtigungen in meiner Anwendung mit einer Hilfsmethode an, wie unten gezeigt.Flash-Nachrichten in Rails, die auf die nächste Seite übertragen werden

def display_flash_content 
    [:error, :notice].map do |key| 
     collection = flash[key].blank? ? [] : (flash[key].respond_to?(:map) ? flash[key] : [flash[key]]) 
     collection.map {|item| content_tag(:div, item, :class => key.to_s) } 
    end 
    end 

und mein Layout hat diesen

<%= display_flash_content %> 

Ich brauche diese Nachrichten anzuzeigen, wenn ich eine Operation zu tun und dann zu einer bestimmten Seite zu umleiten (dies funktioniert gut). Aber mein Problem ist, dass diese Flash-Nachricht zwischen den Seiten bestehen bleibt. Es kommt zweimal zwischen den Seiten, wo es sofort gelöscht werden muss, sobald es dem Benutzer angezeigt wird.

Wie mit diesem Szenario umzugehen. Bitte hilf mir!

Antwort

29

Die Art, wie Sie die Flash-Nachrichten anzeigen, ist in Ordnung. Ich denke, das Problem ist, wie Sie sie setzen. Wenn Sie Flash-Nachrichten einstellen und nicht umleiten, können Sie beispielsweise flash.now[:notice] anstelle von flash[:notice] zuweisen, und Ihre Nachricht bleibt nach der Weiterleitung nicht hängen.

Verwandte Themen