diff options
author | Hongli Lai (Phusion <hongli@phusion.nl> | 2008-07-10 13:21:08 +0200 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2008-08-26 14:30:19 +0200 |
commit | f9f1ab4e3ddeacadf2a7bce021d742f08f67905f (patch) | |
tree | 994a4d44905a910bc70d663a7e89860d799c2e30 /railties | |
parent | eec5eb2e444b2b42206e2d5ccfe7f30306c308cb (diff) | |
download | rails-f9f1ab4e3ddeacadf2a7bce021d742f08f67905f.tar.gz rails-f9f1ab4e3ddeacadf2a7bce021d742f08f67905f.tar.bz2 rails-f9f1ab4e3ddeacadf2a7bce021d742f08f67905f.zip |
When an unexpected exception is caught, tell the administrator to read the log file for more information about the error. This should make things less confusing for developers who are new to Rails.
Signed-off-by: Michael Koziarski <michael@koziarski.com>
Diffstat (limited to 'railties')
-rw-r--r-- | railties/html/500.html | 2 | ||||
-rw-r--r-- | railties/test/error_page_test.rb | 37 |
2 files changed, 39 insertions, 0 deletions
diff --git a/railties/html/500.html b/railties/html/500.html index 0e9c14f4c6..328fdcc3bc 100644 --- a/railties/html/500.html +++ b/railties/html/500.html @@ -25,6 +25,8 @@ <div class="dialog"> <h1>We're sorry, but something went wrong.</h1> <p>We've been notified about this issue and we'll take a look at it shortly.</p> + <p><small>(If you're the administrator of this website, then please read + the log file "<%=h RAILS_ENV %>.log" to find out what went wrong.)</small></p> </div> </body> </html>
\ No newline at end of file diff --git a/railties/test/error_page_test.rb b/railties/test/error_page_test.rb new file mode 100644 index 0000000000..0e43700eb6 --- /dev/null +++ b/railties/test/error_page_test.rb @@ -0,0 +1,37 @@ +require 'abstract_unit' +require 'action_controller' +require 'action_controller/test_process' + +RAILS_ENV = "test" + +module Rails + def self.public_path + File.expand_path(File.join(File.dirname(__FILE__), "..", "html")) + end +end + +class ErrorPageController < ActionController::Base + def crash + raise StandardError, "crash!" + end +end + +ActionController::Routing::Routes.draw do |map| + map.connect ':controller/:action/:id' +end + +class ErrorPageControllerTest < Test::Unit::TestCase + def setup + @controller = ErrorPageController.new + @request = ActionController::TestRequest.new + @response = ActionController::TestResponse.new + + ActionController::Base.consider_all_requests_local = false + end + + def test_500_error_page_instructs_system_administrator_to_check_log_file + get :crash + expected_log_file = "#{RAILS_ENV}.log" + assert_not_nil @response.body.index(expected_log_file) + end +end |