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