in application.rb
rescue_from ActiveRecord::RecordNotFound { |e| http_status_code
(:missing, e) }
def http_status_code(status, exception)
@exception = exception
respond_to do |format|
format.html { render :template => “shared/status_#
{status.to_s}”, :status => status }
format.any { head status }
end
end
in a controller
project = Project.find(params[:id])
in my test
def test_bad_project
put :update, :id => KNOWN_BAD_ID
assert_response(:missing)
end
The result is that I get a 500 every time.
Any clues as to whats’ going on? There’s nothing in the log to
explain the 500 I get during tests; the application controller seems
to be detecting the exception and setting the status to 404, but my
tests get 500.
Dave