Skip to content

Commit 8cd758d

Browse files
committed
feat: 開発用のエラーページプレビュー機能を追加
開発中に、設定ファイルを変更したり、意図的に例外を 発生させたりすることなく、エラーページのデザインを 簡単に確認できるようにするためのプレビュー機能を追加します。 - を作成 - 開発環境でのみ有効な のルートを追加
1 parent 48b231e commit 8cd758d

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
class Previews::ErrorsController < ApplicationController
2+
# このコントローラー全体で、application.html.erb のレイアウトを使用します
3+
layout "application"
4+
5+
# 404ページをプレビューするためのアクション
6+
def not_found
7+
# app/views/errors/not_found.html.erb を、
8+
# ステータスコード404で描画します
9+
render template: "errors/not_found", status: :not_found
10+
end
11+
12+
# 422ページをプレビューするためのアクション
13+
def unprocessable_entity
14+
render template: "errors/unprocessable_entity", status: :unprocessable_entity
15+
end
16+
17+
# 500ページをプレビューするためのアクション
18+
def internal_server_error
19+
render template: "errors/internal_server_error", status: :internal_server_error
20+
end
21+
end

config/routes.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,15 @@
111111
# Check development sent emails
112112
mount LetterOpenerWeb::Engine, at: "/letter_opener" if Rails.env.development?
113113

114+
if Rails.env.development?
115+
namespace :previews do
116+
# /previews/errors/404 などのURLでアクセスできるようになります
117+
get "errors/404" => "errors#not_found"
118+
get "errors/422" => "errors#unprocessable_entity"
119+
get "errors/500" => "errors#internal_server_error"
120+
end
121+
end
122+
114123
# Rambulance がキャッチする /404, /422, /500
115124
match "/404", to: Rambulance::Engine, via: :all, defaults: { status_code: 404 }
116125
match "/422", to: Rambulance::Engine, via: :all, defaults: { status_code: 422 }

0 commit comments

Comments
 (0)