From ed41f9f0b1d49e651c93cc9df90c21daca3f96a5 Mon Sep 17 00:00:00 2001 From: Effy Elden Date: Sun, 15 Jan 2017 10:30:23 +1100 Subject: [PATCH] Add nice error page for CSRF errors/cookie issue, and fix error page handling altogether --- app/controllers/application_controller.rb | 10 ++++++ public/404.html | 43 ----------------------- public/500.html | 43 ----------------------- 3 files changed, 10 insertions(+), 86 deletions(-) delete mode 100644 public/404.html delete mode 100644 public/500.html diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 0a6b50a29..e8cd48b6e 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -11,6 +11,7 @@ class ApplicationController < ActionController::Base rescue_from ActionController::RoutingError, with: :not_found rescue_from ActiveRecord::RecordNotFound, with: :not_found + rescue_from ActionController::InvalidAuthenticityToken, with: :unprocessable_entity before_action :store_current_location, except: :raise_not_found, unless: :devise_controller? before_action :set_locale @@ -50,12 +51,21 @@ class ApplicationController < ActionController::Base def not_found respond_to do |format| format.any { head 404 } + format.html { render "errors/404" } end end def gone respond_to do |format| format.any { head 410 } + format.html { render "errors/410" } + end + end + + def unprocessable_entity + respond_to do |format| + format.any { head 422 } + format.html { render "errors/422" } end end diff --git a/public/404.html b/public/404.html deleted file mode 100644 index fc75c78be..000000000 --- a/public/404.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - The page you were looking for doesn't exist - - - - - - -
- Mastodon - -
-

The page you were looking for doesn't exist

-
-
- - diff --git a/public/500.html b/public/500.html deleted file mode 100644 index d085d490b..000000000 --- a/public/500.html +++ /dev/null @@ -1,43 +0,0 @@ - - - - - We're sorry, but something went wrong - - - - - - -
- Mastodon - -
-

We're sorry, but something went wrong.

-
-
- -