mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Clear route defaults using :name => nil #663
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@671 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
@@ -176,6 +176,7 @@ module ActionController
|
||||
options = options.symbolize_keys
|
||||
defaults = request.path_parameters.symbolize_keys
|
||||
expand_controller_path!(options, defaults)
|
||||
defaults.delete_if {|k, v| options.key?(k) && options[k].nil?} # Remove defaults that have been manually cleared using :name => nil
|
||||
|
||||
failures = []
|
||||
selected = nil
|
||||
|
||||
@@ -185,7 +185,7 @@ class RouteTests < Test::Unit::TestCase
|
||||
assert_equal nil, @route.recognize([])[0]
|
||||
assert_equal nil, @route.recognize(%w{some_static route with more than expected})[0]
|
||||
end
|
||||
|
||||
|
||||
def test_basecamp
|
||||
route 'clients/', :controller => 'content'
|
||||
verify_generate('clients', {}, {:controller => 'content'}, {}) # Would like to have clients/
|
||||
@@ -422,6 +422,11 @@ class RouteSetTests < Test::Unit::TestCase
|
||||
@set.connect ':action/:controller'
|
||||
verify_generate('index/content', options)
|
||||
end
|
||||
|
||||
def test_default_dropped_with_nil_option
|
||||
@request.path_parameters = {:controller => 'content', :action => 'action', :id => '10'}
|
||||
verify_generate 'content/action', {:id => nil}
|
||||
end
|
||||
end
|
||||
|
||||
#require '../assertions/action_pack_assertions.rb'
|
||||
|
||||
Reference in New Issue
Block a user