Scusate se la domanda è ovvia, sto solo iniziando a lavorare con Rails.
ho un seguente codice in diversi metodi di controller ora:Rails Newbie: raccomandazioni per la gestione degli errori nel controller
respond_to do |format|
if @project.save
format.html { redirect_to(edit_project_url(@project), :notice => '#{user.name} added to #{role}.') }
format.js
else
format.html { render :action => "edit" }
format.js #...
end
end
Quindi la domanda è, qual è il modo migliore per fare la stessa cosa per gli errori in tutti i metodi?
Si consiglia di utilizzare save!
e gestirlo in rescue_action
?
Oppure devo utilizzare il mio metodo respond
e passare save
in un blocco?
Questo sembra una buona idea, ma perché impalcatura non va in questo modo? Suppongo anche che tu raccomandi di usare 'rescue_action' se ci sono molti di questi metodi? –
Ok, assumerò che intendessi un gestore di 'rescue_from' o' rescue_action_in_public' per più metodi, nel qual caso Chubas risponde qui è un sottoinsieme di questo e dovrei accettare questo come risposta. –
Come regola generale uso 'rescue_from' per cose che non possono essere facilmente recuperate da, e' rescue' quando posso gestirle. Quando un 'create' fallisce, tipicamente si rende di nuovo il form' new'. Qualcosa di più astratto in genere restituisce una bella pagina "Uh oh". – tadman