404エラーの出方を知りたい

いちおう、以下のナイヨウはproductionモードの話。

  • コントローラーが存在してアクションがないURLの場合、404エラーになる
  • コントローラーがないURLの場合は500エラーになる


コントローラーがない場合、ActionController::RoutingErrorがraiseされる。
コントローラーがない場合、public/500.htmlがあればそれがレスポンスになる。
コントローラーがない場合、rescue_action_in_public(exception)にひっかからない。。
RoutingErrorの対応が書いてあるのに。。

      def rescue_action_in_public(exception) #:doc:
        case exception
          when RoutingError, UnknownAction then
            render_text(IO.read(File.join(RAILS_ROOT, 'public', '404.html')), "
          else render_text "<html><body><h1>アプリケーション エラー</h1></body>
        end
      end