エラー処理
参考:
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
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
エラーページの文言
参考: