2012-12-18 9 views
5

In respond_to benutzerdefinierten Flash setzen Sie flash[:notice] wie dieseWie mit respond_to in Rails

respond_to do |format| 
    format.html { redirect_to photo_path(photo), :notice => 'The photos was saved') } 
    format.xml { render :xml => photo, :status => :created} 
end 

ich Flash versuche einstellen, um [: Erfolg] mit :success => "yay" aber es funktioniert nicht.

Mache ich etwas falsch?

Antwort

8

sollten Sie redirect_to anders verwenden:

redirect_to photo_path(photo), :flash => { :success => "Yeepee!" } 

Die einzigen Blitze können Sie direkt verwenden sind

  • : Bekanntmachung
  • : alert
  • : error

Hoffnung das hilft

5

Von Rails 4 können Sie direkt :success in redirect_to verwenden.

Fügen Sie einfach die folgende Zeile:

# in app/controllers/application_controller.rb 

class ApplicationController < ActionController::Base 
    [...] 

    add_flash_types :error, :success, :info 

    [...] 

Ohne diese Zeile in respond_to,: Bekanntmachung Blitz produziert, aber: Erfolg funktioniert nicht.

Hutspitze zu Milan Mondal's post for this!

Verwandte Themen