これは、Ruby 2.0.0-p353 を実行する Rails 4.0.2 アプリケーション用です。
次のメソッドを持つヘルパーがあります
def render_feed_row(activity_item)
begin
if activity_item.type == "comment"
render "newsfeed/comment", :item => activity_item
elsif activity_item.type == "post"
render "newsfeed/post", :item => activity_item
else
raise NameError
end
rescue NameError => e # note: NoMethodError is a subclass of NameError
render "newsfeed/other", :item => activity_item
end
end
しかしNoMethodError、パーシャルで a が発生した場合、newsfeed/postこのヘルパーではキャッチされません。何故ですか?レンダリングせずnewsfeed/other、実際に例外を発生させます。