エラー処理
参考:
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
}
Code language: Ruby (ruby)
参考:
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 でコントローラのエラーを rescue する 翻訳 | TechRacho
rescue_from とは?わかりやすく解説/例外処理の便利な使い方実例 | Proぐらし
Rails で rescue_from を使ってエラー処理を共通化する | アトトックラボ
rescue_from は下に書いたものから評価される | haayaaa’s diary
rescue_from – ActiveSupport::Rescuable::ClassMethods | Ruby on Rails API [Official]
rescue_from の使い方を教えてください – teratail
Global error handling and the order of included rescue_from – Stack Overflow
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
Code language: Ruby (ruby)
参考:
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 – 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
エラーページの文言
参考: