2011-09-23 13 views
16

Chcę tylko migać zawiadomienie/błąd, jeśli wiadomość jest/nie jest zapisane, bez przekierowania, jak mogę mieć żadnej przekierowanie:podnieść alarm w kontroler szyny bez przekierować

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

Odpowiedz

24

Korzystając 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

czy działa w szynach 4? bo nie rozumiem tego. –

+0

@RahulDess prawdopodobnie za późno, ale dla wszystkich innych: tak, działa w Railsach 4. Jest nawet wspomniany w przewodnikach po prowadnicach: http://guides.rubyonrails.org/action_controller_overview.html#flash-now – LeEnno

+0

Działa w szynach 5. –

Powiązane problemy