Sto facendo un po 'di gestione delle eccezioni nel mio controller, quando c'è un'eccezione lanciata: create action, renderò alla: nuova azione e mostrerò un messaggio flash.Perché il messaggio flash non scomparirà?
Tutto funziona bene, posso vedere il messaggio flash quando eccezione catturato, ma quando ho il reindirizzamento (click handly) altra pagina, il messaggio flash ancora qui. Quindi reindirizzamento a un'altra pagina (il secondo clic manuale), il messaggio potrebbe scomparire.
Chi sa qual è il motivo?
Il mio codice di controllo:
class MessagesController < ApplicationController
rescue_from Exception, :with => :render_new
def new
end
def create
end
private
def render_new
flash[:alert] = t("uploading_error")
render :action => :new
end
end
Il mio codice di layout (Haml):
%body
#content
- unless flash[:alert].blank?
#alert= flash[:alert]
Ottima soluzione e il link! Grazie, zabba! –
Ora so di più sul flash e flash.now. Quindi, se l'utente reindirizza_to anziché renderizzare, utilizzare il flash non sarà un problema. –
FYI: link is broke. Ma senza vedere il link, devo ammettere che sono curioso perché flash.now [: alert] non è predefinito. – Trip