@@ -11,6 +11,7 @@ class ApplicationController < ActionController::Base | |||||
rescue_from ActionController::RoutingError, with: :not_found | rescue_from ActionController::RoutingError, with: :not_found | ||||
rescue_from ActiveRecord::RecordNotFound, 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 :store_current_location, except: :raise_not_found, unless: :devise_controller? | ||||
before_action :set_locale | before_action :set_locale | ||||
@@ -50,12 +51,21 @@ class ApplicationController < ActionController::Base | |||||
def not_found | def not_found | ||||
respond_to do |format| | respond_to do |format| | ||||
format.any { head 404 } | format.any { head 404 } | ||||
format.html { render "errors/404" } | |||||
end | end | ||||
end | end | ||||
def gone | def gone | ||||
respond_to do |format| | respond_to do |format| | ||||
format.any { head 410 } | 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 | ||||
end | end | ||||
@@ -1,43 +0,0 @@ | |||||
<!DOCTYPE html> | |||||
<html lang="en"> | |||||
<head> | |||||
<meta charset="utf-8"> | |||||
<title>The page you were looking for doesn't exist</title> | |||||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||||
<link href="https://fonts.googleapis.com/css?family=Roboto:400" rel="stylesheet"> | |||||
<style> | |||||
body { | |||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |||||
background: #282c37; | |||||
color: #9baec8; | |||||
text-align: center; | |||||
margin: 0; | |||||
padding: 20px; | |||||
} | |||||
.dialog img { | |||||
display: block; | |||||
margin: 20px auto; | |||||
margin-top: 50px; | |||||
max-width: 600px; | |||||
width: 100%; | |||||
height: auto; | |||||
} | |||||
.dialog h1 { | |||||
font: 20px/28px -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |||||
font-weight: 400; | |||||
} | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<div class="dialog"> | |||||
<img src="/oops.png" alt="Mastodon" /> | |||||
<div> | |||||
<h1>The page you were looking for doesn't exist</h1> | |||||
</div> | |||||
</div> | |||||
</body> | |||||
</html> |
@@ -1,43 +0,0 @@ | |||||
<!DOCTYPE html> | |||||
<html lang="en"> | |||||
<head> | |||||
<meta charset="utf-8"> | |||||
<title>We're sorry, but something went wrong</title> | |||||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||||
<link href="https://fonts.googleapis.com/css?family=Roboto:400" rel="stylesheet"> | |||||
<style> | |||||
body { | |||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |||||
background: #282c37; | |||||
color: #9baec8; | |||||
text-align: center; | |||||
margin: 0; | |||||
padding: 20px; | |||||
} | |||||
.dialog img { | |||||
display: block; | |||||
margin: 20px auto; | |||||
margin-top: 50px; | |||||
max-width: 600px; | |||||
width: 100%; | |||||
height: auto; | |||||
} | |||||
.dialog h1 { | |||||
font: 20px/28px -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; | |||||
font-weight: 400; | |||||
} | |||||
</style> | |||||
</head> | |||||
<body> | |||||
<div class="dialog"> | |||||
<img src="/oops.png" alt="Mastodon" /> | |||||
<div> | |||||
<h1>We're sorry, but something went wrong.</h1> | |||||
</div> | |||||
</div> | |||||
</body> | |||||
</html> |