2011-09-23 21 views
16

sólo quiero a parpadear un aviso/error si el mensaje es/no se guarda, sin ningún tipo de redirección, ¿cómo puedo tener ninguna redirección:generar una alerta en el controlador de rieles sin redirigir

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

Respuesta

24

Uso 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

¿funciona en rieles 4? porque no lo estoy entendiendo –

+0

@RahulDess probablemente demasiado tarde, pero para todos los demás: sí funciona en Rails 4. Incluso se menciona en las guías de rieles: http://guides.rubyonrails.org/action_controller_overview.html#flash-now – LeEnno

+0

Funciona en rieles 5. –

Cuestiones relacionadas