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/app/views/errors/404.html similarity index 100% rename from public/404.html rename to app/views/errors/404.html diff --git a/app/views/errors/410.html b/app/views/errors/410.html new file mode 100644 index 000000000..e07cbe863 --- /dev/null +++ b/app/views/errors/410.html @@ -0,0 +1,43 @@ + + + + + The page you were looking for doesn't exist anymore + + + + + + +
+ Mastodon + +
+

The page you were looking for doesn't exist anymore

+
+
+ + diff --git a/app/views/errors/422.html b/app/views/errors/422.html new file mode 100644 index 000000000..a214781bd --- /dev/null +++ b/app/views/errors/422.html @@ -0,0 +1,43 @@ + + + + + Security verification failed - are you blocking cookies? + + + + + + +
+ Mastodon + +
+

We're sorry, but we were unable to verify your request. Have you tried enabling cookies?

+
+
+ + diff --git a/public/500.html b/app/views/errors/500.html similarity index 100% rename from public/500.html rename to app/views/errors/500.html