From 3558322b9d4af0775fb5c9922a588eaa7cd0c5a2 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 3 Sep 2006 23:51:34 +0000 Subject: [PATCH] Changed that uncaught exceptions raised any where in the application will cause RAILS_ROOT/public/500.html to be read and shown instead of just the static "Application error (Rails)" [DHH] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4955 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionpack/CHANGELOG | 2 ++ actionpack/lib/action_controller/rescue.rb | 11 +++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 1e62def587..99fdd9ddfe 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Changed that uncaught exceptions raised any where in the application will cause RAILS_ROOT/public/500.html to be read and shown instead of just the static "Application error (Rails)" [DHH] + * Integration tests: thoroughly test ActionController::Integration::Session. #6022 [Kevin Clark] (tests skipped unless you `gem install mocha`) diff --git a/actionpack/lib/action_controller/rescue.rb b/actionpack/lib/action_controller/rescue.rb index dd670fe96d..f9b831f18b 100644 --- a/actionpack/lib/action_controller/rescue.rb +++ b/actionpack/lib/action_controller/rescue.rb @@ -48,9 +48,10 @@ def log_error(exception) #:doc: # Overwrite to implement public exception handling (for requests answering false to local_request?). def rescue_action_in_public(exception) #:doc: case exception - when RoutingError, UnknownAction then + when RoutingError, UnknownAction render_text(IO.read(File.join(RAILS_ROOT, 'public', '404.html')), "404 Not Found") - else render_text "

Application error (Rails)

" + else + render_text(IO.read(File.join(RAILS_ROOT, 'public', '500.html')), "500 Internal Error") end end @@ -125,8 +126,10 @@ def template_path_for_local_rescue(exception) def response_code_for_rescue(exception) case exception - when UnknownAction, RoutingError then "404 Page Not Found" - else "500 Internal Error" + when UnknownAction, RoutingError + "404 Page Not Found" + else + "500 Internal Error" end end