E 'stato un po' che questa domanda è stata pubblicata - ma ho appena trascorso un po 'di capire questo fuori & non riusciva a trovare troppo aiuto in questa linea, in modo da:
La soluzione è quella di creare file .js.erb: uno per il successo e uno per il fallimento.
def create
@foo = Foo.new(params[:foo])
if @foo.save
respond_to do |format|
format.html { redirect_to root_path }
format.js { render :action => "success"} #rails now looks for success.js.erb
end
else
respond_to do |format|
format.html { render :action => 'new'}
format.js { render :action => "failure"} #rails now looks for failure.js.erb
end
end
end
end
Se sembra che se non si specifica un nome di file, rotaie cercheranno create.js.erb in entrambi i casi (a causa format.js è chiamato da creare). Questo non è eccezionale nel caso di situazioni di successo/errore, perché si desidera un comportamento diverso per ogni scenario, quindi sostituisci i nomi dei file tramite l'attributo: action.