aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorTom Stuart <tom@experthuman.com>2008-11-13 14:31:36 +0000
committerMichael Koziarski <michael@koziarski.com>2008-11-13 17:49:09 +0100
commit4c0921024471c0463d67f8b8fb6a115a94d343aa (patch)
treec0611632d1d4cf43934378dd6113ab381d6cdb6b /actionpack/lib
parent57d795bad43d4a3e5eef7151099a8e40808a1031 (diff)
downloadrails-4c0921024471c0463d67f8b8fb6a115a94d343aa.tar.gz
rails-4c0921024471c0463d67f8b8fb6a115a94d343aa.tar.bz2
rails-4c0921024471c0463d67f8b8fb6a115a94d343aa.zip
Fix map.resources to always generate named routes if they're needed
Signed-off-by: Michael Koziarski <michael@koziarski.com>
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_controller/resources.rb13
1 files changed, 7 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/resources.rb b/actionpack/lib/action_controller/resources.rb
index de529e23ff..d6cc4aa418 100644
--- a/actionpack/lib/action_controller/resources.rb
+++ b/actionpack/lib/action_controller/resources.rb
@@ -597,11 +597,11 @@ module ActionController
end
map_resource_routes(map, resource, :index, resource.path, index_route_name)
- map_resource_routes(map, resource, :create, resource.path)
+ map_resource_routes(map, resource, :create, resource.path, index_route_name)
end
def map_default_singleton_actions(map, resource)
- map_resource_routes(map, resource, :create, resource.path)
+ map_resource_routes(map, resource, :create, resource.path, "#{resource.shallow_name_prefix}#{resource.singular}")
end
def map_new_actions(map, resource)
@@ -632,9 +632,10 @@ module ActionController
end
end
- map_resource_routes(map, resource, :show, resource.member_path, "#{resource.shallow_name_prefix}#{resource.singular}")
- map_resource_routes(map, resource, :update, resource.member_path)
- map_resource_routes(map, resource, :destroy, resource.member_path)
+ route_path = "#{resource.shallow_name_prefix}#{resource.singular}"
+ map_resource_routes(map, resource, :show, resource.member_path, route_path)
+ map_resource_routes(map, resource, :update, resource.member_path, route_path)
+ map_resource_routes(map, resource, :destroy, resource.member_path, route_path)
end
def map_resource_routes(map, resource, action, route_path, route_name = nil, method = nil)
@@ -642,7 +643,7 @@ module ActionController
action_options = action_options_for(action, resource, method)
formatted_route_path = "#{route_path}.:format"
- if route_name
+ if route_name && @set.named_routes[route_name.to_sym].nil?
map.named_route(route_name, route_path, action_options)
map.named_route("formatted_#{route_name}", formatted_route_path, action_options)
else