Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 21 additions & 4 deletions app/controllers/errors_controller.rb
Original file line number Diff line number Diff line change
@@ -1,17 +1,34 @@
class ErrorsController < ApplicationController
layout 'errors'

rescue_from StandardError, with: :handle_rendering_error

def forbidden
render status: :forbidden
render_error_page('errors/forbidden', :forbidden, '403 Forbidden')
end

def not_found
render status: :not_found
render_error_page('errors/not_found', :not_found, '404 Not Found')
end

def unacceptable
render status: :unprocessable_content
render_error_page('errors/unacceptable', :not_acceptable, '406 Not Acceptable')
end

def unprocessable_entity
render_error_page('errors/unprocessable_entity', :unprocessable_entity, '422 Unprocessable Entity')
end
Comment thread
lodewiges marked this conversation as resolved.

def internal_server_error
render status: :internal_server_error
render_error_page('errors/internal_server_error', :internal_server_error, '500 Internal Server Error')
end

private

def render_error_page(template, status, fallback_message)
render template: template, status: status
rescue StandardError => e
Rails.logger.error("Error rendering #{status} page: #{e.message}")
render plain: fallback_message, status: status
end
Comment thread
coderabbitai[bot] marked this conversation as resolved.
end
4 changes: 4 additions & 0 deletions app/views/errors/unprocessable_entity.html.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<% content_for :title, "Verzoek niet verwerkt (422) - #{Rails.application.config.x.site_name}" %>
<h1>Verzoek niet verwerkt <small>(422)</small></h1>
<p>Je verzoek kon niet worden verwerkt. Dit komt meestal door ongeldige gegevens.</p>
<p>Controleer je invoer en probeer het opnieuw. Stuur een <%= link_to 'mailtje', "mailto:#{Rails.application.config.x.admin_email}" %> naar de ICT-commissie als dit probleem blijft optreden.</p>
3 changes: 2 additions & 1 deletion config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@

get '/403', to: 'errors#forbidden'
get '/404', to: 'errors#not_found'
get '/422', to: 'errors#unacceptable'
get '/406', to: 'errors#unacceptable'
get '/422', to: 'errors#unprocessable_entity'
get '/500', to: 'errors#internal_server_error'
end
67 changes: 0 additions & 67 deletions public/404.html

This file was deleted.

66 changes: 0 additions & 66 deletions public/406-unsupported-browser.html

This file was deleted.

67 changes: 0 additions & 67 deletions public/422.html

This file was deleted.

66 changes: 0 additions & 66 deletions public/500.html

This file was deleted.