エラー処理

参考:

Rails で 404 / 500 エラーの処理 – Qiita

Rails で 404 エラーメッセージを出すために – Qiita

404 / 500 などのエラーページって結局どうすればいいの? – Qiita

アプリの例外ハンドリングとエラーページの表示についてまとめてみた – Qiita

アプリケーションにおけるエラー処理 (例外設計) の考え方 – Qiita

Rails 5 の 404 / 500 エラーページ、簡単作成手順 | 酒と涙とRubyとRailsと

How Rails chooses error pages (404, 500, …) for exceptions | makandra dev

Rails render 404 not found from a controller action | Ruby in Rails (rubyinrails.com)

How to redirect to a 404 in Rails? – GitHub Gist

404 エラーページを表示する

参考:

How to redirect to a 404 in Rails? – Stack Overflow

エラーページのカスタマイズ

参考:

Rails で 404 エラーメッセージを出すために – Qiita

config.action_dispatch.rescue_responses

デフォルトの設定

config.action_dispatch.rescue_responses = {
  'ActionController::RoutingError'               => :not_found,
  'AbstractController::ActionNotFound'           => :not_found,
  'ActionController::MethodNotAllowed'           => :method_not_allowed,
  'ActionController::UnknownHttpMethod'          => :method_not_allowed,
  'ActionController::NotImplemented'             => :not_implemented,
  'ActionController::UnknownFormat'              => :not_acceptable,
  'ActionController::InvalidAuthenticityToken'   => :unprocessable_entity,
  'ActionController::InvalidCrossOriginRequest'  => :unprocessable_entity,
  'ActionDispatch::Http::Parameters::ParseError' => :bad_request,
  'ActionController::BadRequest'                 => :bad_request,
  'ActionController::ParameterMissing'           => :bad_request,
  'Rack::QueryParser::ParameterTypeError'        => :bad_request,
  'Rack::QueryParser::InvalidParameterError'     => :bad_request,
  'ActiveRecord::RecordNotFound'                 => :not_found,
  'ActiveRecord::StaleObjectError'               => :conflict,
  'ActiveRecord::RecordInvalid'                  => :unprocessable_entity,
  'ActiveRecord::RecordNotSaved'                 => :unprocessable_entity
}

参考:

Rails でよしなに 40x 系のレスポンスを返す Exception の確認の仕方 | コード日進月歩

Rails のコントローラでの不可解 (に見える) なエラーハンドリングについて | suusan2号の戯れ

Action Dispatch を設定する | Rails ガイド [公式]

rescue_responses – rails/exception_wrapper.rb at v5.2.3 · rails/rails – GitHub

rescue_responses – rails/railtie.rb at v5.2.3 · rails/rails – GitHub

merge – rails/action_dispatch/railtie.rb at v5.2.3 · rails/rails – GitHub

merge – rails/active_record/railtie.rb at v5.2.3 · rails/rails – GitHub

HTTP ステータス

参考:

Rails の HTTP ステータスのシンボル表現まとめ | Hack Your Design!

HTTP_STATUS_CODES – rack/utils.rb at 2.0.7 · rack/rack – GitHub

SYMBOL_TO_STATUS_CODE – rack/utils.rb at 2.0.7 · rack/rack – GitHub

ActiveRecord::RecordNotFound

参考:

Rails アプリの例外ハンドリングで、NotFound ページへ遷移 – Qiita

rescue_from

参考:

rescue_from – ActiveSupport::Rescuable::ClassMethods | Ruby on Rails API [Official]

rescue_action_in_public

参考:

rescue_action_in_public を使用したエラーハンドリング | rochefort’s blog

rescue_action_in_public を使用したエラーハンドリング | うんたらかんたらRuby

Rails のエラー画面への処理を読む | DoRuby

rescue_action_in_public, local_request? and how to configure local_request | BigBinary Blog

開発時にエラーページをテストする

config.consider_all_requests_local = false

参考:

Rails で 404 エラーメッセージを出すために – Qiita

development でも 404 ページを表示させたい | あいすのブログ

Why would I have to restart rails every time to test a 404.html page here? – Stack Overflow

HTTP レスポンスコードをテストする

参考:

How to test render status: 404 with Rails4 and RSpec when using rescue_from – Stack Overflow

API レスポンス

参考:

API のレスポンスを生成するメソッドを紹介 | きゃまなかのブログ

head

空のレスポンスを返す。

参考:

head | Rails ドキュメント (railsdoc.com)

head – ActionController::Head | Ruby on Rails API [Official]

Rambulance

参考:

yuki24/rambulance: Simple and safe way to dynamically render error pages for Rails apps – GitHub

特定のテストでのみ Rambulance を有効にしてエラーページのテストをするやり方 – Qiita

エラーページの文言

参考:

Rails アプリケーションの 422 エラーページの文言をどうするといいのか調べてみた – Qiita

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です