静的エラーページを表示させる

静的なエラーページとは

404や500など、HTTPステータスコードに対応するrails標準で用意してくれているファイル

ステータスコードごとに、自前で用意して増やすこともできる

config.action_dispatch.rescue_responsesの中で、「例外」と「ステータス」のマッピングがハッシュ形式で定義されている

ここに記載されていない例外はすべて500 Internel Server Errorに割り当てられる

https://railsguides.jp/configuring.html#action-dispatchを設定する

静的エラーページを表示させる

Controllerでエラーをrescueし、public以下の任意のエラーページへrenderしてあげる

app/controllers/application_controller.rb

rescue_from 任意のエラークラス, with: :render_403
def render_403
    render file: Rails.root.join('public/403.html'), status: :forbidden, layout: false, content_type: 'text/html'
end

一時的に本番環境に近づけて、railsによしなに表示させる

config.consider_all_requests_local = false

railsマッピングを参照し、例外に対応したステータスコードを発行してくれる