diff options
author | Andy Jeffries <andy@andyjeffries.co.uk> | 2011-12-05 15:41:38 +0000 |
---|---|---|
committer | Andy Jeffries <andy@andyjeffries.co.uk> | 2011-12-05 15:41:38 +0000 |
commit | 71d769e3b58cb56b4b1d5143936c65be8b27c490 (patch) | |
tree | deb3f2d6415373feeaaa3210ca4f49f0966b2aa6 /actionpack | |
parent | d4964b338667fb14d7755cd90af88bb267238958 (diff) | |
download | rails-71d769e3b58cb56b4b1d5143936c65be8b27c490.tar.gz rails-71d769e3b58cb56b4b1d5143936c65be8b27c490.tar.bz2 rails-71d769e3b58cb56b4b1d5143936c65be8b27c490.zip |
Named Routes shouldn't override existing ones (currently route recognition goes with the earliest match, named routes use the latest match)
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/route_set.rb | 2 | ||||
-rw-r--r-- | actionpack/test/controller/routing_test.rb | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb index 2bcde16110..c64214431a 100644 --- a/actionpack/lib/action_dispatch/routing/route_set.rb +++ b/actionpack/lib/action_dispatch/routing/route_set.rb @@ -356,7 +356,7 @@ module ActionDispatch conditions = build_conditions(conditions, valid_conditions, path.names.map { |x| x.to_sym }) route = @set.add_route(app, path, conditions, defaults, name) - named_routes[name] = route if name + named_routes[name] = route if name && !named_routes[name] route end diff --git a/actionpack/test/controller/routing_test.rb b/actionpack/test/controller/routing_test.rb index 4a67380f59..062fc1f94e 100644 --- a/actionpack/test/controller/routing_test.rb +++ b/actionpack/test/controller/routing_test.rb @@ -713,12 +713,12 @@ class RouteSetTest < ActiveSupport::TestCase assert_equal set.routes.first, set.named_routes[:hello] end - def test_later_named_routes_take_precedence + def test_earlier_named_routes_take_precedence set.draw do match '/hello/world' => 'a#b', :as => 'hello' match '/hello' => 'a#b', :as => 'hello' end - assert_equal set.routes.last, set.named_routes[:hello] + assert_equal set.routes.first, set.named_routes[:hello] end def setup_named_route_test |