ApplicationController に rescue_action なるメソッドを追加して,そこに実装すればよい.
class ApplicationController < ActionController::Base
def rescue_action(e)
HogeMailer.deliver_error(e.backtrace.join("\n"))
super
end
end
最後に super 入れておくと,通常のエラー処理が継続するので,505.html などが表示される.メール送信やログ書き込みなどを『割り込ませたい』ときには付けておくのがいいのではないでしょうか.
##追記
メール送るだけならプラグインがあるそうなので,そっち使った方がいいかも.
[http://dev.rubyonrails.org/browser/plugins/exception_notification/README]
comments powered by Disqus