diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 59aba334b55af8ad3b3e42695e79f590e17e2a0b..a4c0061da845bd2fee2cdb66c5fe0d29ed16c6a6 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Deprecation: verification with :redirect_to => :named_route shouldn't be deprecated. #7525 [Justin French] + * Cookie session store: raise ArgumentError when :session_key is blank. [Jeremy Kemper] * Deprecation: remove deprecated request, redirect, and dependency methods. Remove deprecated instance variables. Remove deprecated url_for(:symbol, *args) and redirect_to(:symbol, *args) in favor of named routes. Remove uses_component_template_root for toplevel components directory. Privatize deprecated render_partial and render_partial_collection view methods. Remove deprecated link_to_image, link_image_to, update_element_function, start_form_tag, and end_form_tag helper methods. Remove deprecated human_size helper alias. [Jeremy Kemper] diff --git a/actionpack/lib/action_controller/verification.rb b/actionpack/lib/action_controller/verification.rb index 7cdf658437682f9db496d550085ae7518d4b2aba..131131a1d81afa343c8d6c053cff2845b2e32684 100644 --- a/actionpack/lib/action_controller/verification.rb +++ b/actionpack/lib/action_controller/verification.rb @@ -95,6 +95,7 @@ def verify_action(options) #:nodoc: response.headers.update(options[:add_headers]) if options[:add_headers] unless performed? render(options[:render]) if options[:render] + options[:redirect_to] = self.send(options[:redirect_to]) if options[:redirect_to].is_a? Symbol redirect_to(options[:redirect_to]) if options[:redirect_to] end return false diff --git a/actionpack/test/controller/verification_test.rb b/actionpack/test/controller/verification_test.rb index 05012cf7242aa656ad0c81241f527119daf1214f..bbcd7d59d8a8f8bfb6d8991eaf74ef1a204235c6 100644 --- a/actionpack/test/controller/verification_test.rb +++ b/actionpack/test/controller/verification_test.rb @@ -34,9 +34,16 @@ class TestController < ActionController::Base verify :only => :must_be_post, :method => :post, :render => { :status => 405, :text => "Must be post" }, :add_headers => { "Allow" => "POST" } + verify :only => :guarded_one_for_named_route_test, :params => "one", + :redirect_to => :foo_url + def guarded_one render :text => "#{params[:one]}" end + + def guarded_one_for_named_route_test + render :text => "#{params[:one]}" + end def guarded_with_flash render :text => "#{params[:one]}" @@ -94,6 +101,14 @@ def setup @controller = TestController.new @request = ActionController::TestRequest.new @response = ActionController::TestResponse.new + ActionController::Routing::Routes.add_named_route :foo, '/foo', :controller => 'test', :action => 'foo' + end + + def test_no_deprecation_warning_for_named_route + assert_not_deprecated do + get :guarded_one_for_named_route_test, :two => "not one" + assert_redirected_to '/foo' + end end def test_guarded_one_with_prereqs