2
我有從其他寶石如何從錯誤中挽救在Rails模板(ERB文件)
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
一些輔助方法ERB模板
現在,如果ALL_THE_STUFF
不存在,我會得到ActionView::Template::Error
。但是,這不會被控制器級別的異常處理所捕獲。 在控制器的情況下,我使用rescue_from
拯救了ApplicationController
中的例外。有沒有一個地方可以把它放在我所有的ERB模板中?
如何處理在模板中捕獲的異常(不是由於控制器代碼)?
「開始......救援......結束」在ERB中工作得很好。 –
我應該更清楚。在我的應用程序控制器的情況下,我可以做一個'rescue_from'塊來救援,但是沒有這樣的地方可以完成所有的模板。 – absessive
你應該可以用同樣的方法做到這一點:rescue_from ActionView :: Template :: Error,用::your_method_here – fanta