Ticket #10272: redirect_to_nil_raises_its_own_exception.diff
| File redirect_to_nil_raises_its_own_exception.diff, 1.6 kB (added by farleyknight, 6 months ago) |
|---|
-
actionpack/test/controller/redirect_test.rb
old new 77 77 redirect_to Workshop.new(5, true) 78 78 end 79 79 80 def redirect_to_nil 81 redirect_to nil 82 end 83 80 84 def rescue_errors(e) raise e end 81 85 82 86 def rescue_action(e) raise end … … 215 219 get :redirect_to_new_record 216 220 assert_equal "http://test.host/workshops", redirect_to_url 217 221 end 222 223 def test_redirect_to_nil 224 assert_raises(ActionController::RedirectToNil) do 225 get :redirect_to_nil 226 end 227 end 228 218 229 end 219 230 220 231 module ModuleTest -
actionpack/lib/action_controller/base.rb
old new 21 21 class RenderError < ActionControllerError #:nodoc: 22 22 end 23 23 24 class RedirectToNil < ActionControllerError #:nodoc: 25 end 26 24 27 class RoutingError < ActionControllerError #:nodoc: 25 28 attr_reader :failures 26 29 def initialize(message, failures=[]) … … 1029 1032 # RedirectBackError will be raised. You may specify some fallback 1030 1033 # behavior for this case by rescuing RedirectBackError. 1031 1034 def redirect_to(options = {}, response_status = {}) #:doc: 1032 1035 raise RedirectToNil.new("Cannot redirect to nil!") if options.nil? 1036 1033 1037 if options.is_a?(Hash) && options[:status] 1034 1038 status = options.delete(:status) 1035 1039 elsif response_status[:status]