1

これは、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、実際に例外を発生させます。

4

2 に答える 2