2011-09-23 11 views
16

voglio solo lampeggiare un avviso/errore se il messaggio è/non è stato salvato, senza alcun redirect, come posso avere alcun redirect:Sollevare un avviso controller rotaie senza redirect

respond_to do |format| 
    if @message.save 
    format.html { redirect_to request.referer, :notice => 'Message sent!' } #dont want redirect 
    else 
    # error message here 
    end 

risposta

24

Usa flash.now :

if @message.save 
    flash.now[:notice] = 'Message sent!' 
else 
    flash.now[:alert] = 'Error while sending message!' 
end 

respond_to do |format| 
    format.html { # blahblah render } 
end 
+4

funziona in binari 4? perchè non lo capisco –

+0

@RahulDess probabilmente troppo tardi, ma per tutti gli altri: sì funziona in Rails 4. È persino menzionato nelle guide dei binari: http://guides.rubyonrails.org/action_controller_overview.html#flash-now – LeEnno

+0

Funziona in binari 5. –

Problemi correlati