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>
This commit is contained in:
Hongli Lai (Phusion 2008-07-10 13:21:08 +02:00 committed by Michael Koziarski
parent eec5eb2e44
commit f9f1ab4e3d
2 changed files with 39 additions and 0 deletions

@ -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>

@ -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