Ich habe eine ERB-Vorlage, dieWie man aus Fehlern in einer Rails-Vorlage (ERB-Datei) zu retten
sample.html.erb
<h1>All The Stuff</h1>
<% all_the_stuff.each do |stuff| %>
<div><%= stuff %></div>
<% end %>
lib/random_file.rb
def all_the_stuff
if ALL_THE_STUFF.exists?
ALL_THE_STUFF
else
fail AllTheStuffException
end
end
einige Hilfsmethoden von anderen Edelsteinen hat
Nun, wenn ALL_THE_STUFF
nicht vorhanden sind, werde ich eine 10 bekommen. Dies wird jedoch nicht als Ausnahmebehandlung auf der Controller-Ebene abgefangen. Im Falle der Controller, ich retten Ausnahmen in der ApplicationController
mit rescue_from
. Gibt es einen einzigen Ort, um dies für alle meine ERB-Vorlagen zu setzen?
Wie gehe ich mit Ausnahmen um, die in einer Vorlage abgefangen werden (nicht aufgrund von Controller-Code)?
'beginnen ... Rettung ... Ende' funktioniert gut in ERB. –
Ich hätte klarer sein sollen. Im Falle meines Anwendungscontrollers kann ich einen 'rescue_from'-Block zur Rettung erstellen, aber es gibt keinen solchen Ort, um dies für alle Vorlagen zu tun. – absessive
Sie sollten es auf die gleiche Weise tun können: rescue_from ActionView :: Template :: Error, mit:: your_method_here – fanta