diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb new file mode 100644 index 000000000..d4e41f481 --- /dev/null +++ b/app/controllers/errors_controller.rb @@ -0,0 +1,28 @@ +class ErrorsController < ApplicationController + before_action :set_error_message + + def show + render :show, status: @status_code + end + + private + + def set_error_message + @status_code = params[:status_code].to_i + + case @status_code + when 404 + @title = "ページが見つかりませんでした... 🥺💦" + @desc = "ページが削除された可能性があります 🤔💭" + when 422 + @title = "リクエストが処理できませんでした… 😢" + @desc = "入力内容に誤りがあるか、リクエストが正しく送信されなかった可能性があります。" + when 500 + @title = "予期しないエラーが発生しました 😵💫" + @desc = "申し訳ありません。サーバーで問題が発生しています。" + else + @title = "予期せぬエラーが発生しました…😵" + @desc = "しばらく経ってから再度お試しください。" + end + end +end diff --git a/app/views/errors/internal_server_error.json.jbuilder b/app/views/errors/internal_server_error.json.jbuilder deleted file mode 100644 index 46a32f671..000000000 --- a/app/views/errors/internal_server_error.json.jbuilder +++ /dev/null @@ -1 +0,0 @@ -json.error_message "We're sorry, but something went wrong." diff --git a/app/views/errors/not_found.json.jbuilder b/app/views/errors/not_found.json.jbuilder deleted file mode 100644 index a323a2abe..000000000 --- a/app/views/errors/not_found.json.jbuilder +++ /dev/null @@ -1 +0,0 @@ -json.error_message "The page you were looking for doesn't exist. You may have mistyped the address or the page may have moved." diff --git a/app/views/errors/not_found.html.erb b/app/views/errors/show.html.erb similarity index 51% rename from app/views/errors/not_found.html.erb rename to app/views/errors/show.html.erb index 2cd2898ed..48437e6b2 100644 --- a/app/views/errors/not_found.html.erb +++ b/app/views/errors/show.html.erb @@ -1,5 +1,5 @@ -<% provide(:title, "ページが見つかりませんでした... 🥺💦") %> -<% provide(:desc, "ページが削除された可能性があります 🤔💭") %> +<% provide(:title, @title) %> +<% provide(:desc, @desc) %>
- ページが削除された可能性があります 🤔💭
+ <%= @desc %>
フィードバックなどあれば info@coderdojo.jp にメールしていただくか、
もしくは
- GitHub Issue
+
+ GitHub Issue
+
に書いていただけると嬉しいです (>人< )✨