diff options
author | Jamis Buck <jamis@37signals.com> | 2006-09-26 22:45:09 +0000 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2006-09-26 22:45:09 +0000 |
commit | 6a8dcc8a5bd9e8510c75d7a88a1072d88067aaa9 (patch) | |
tree | 571f37e07c22168f9cec2407432c199728a5bbd4 /actionpack/lib | |
parent | a0bf0195a5c27c8c8493b1a44987154a9dc0d526 (diff) | |
download | rails-6a8dcc8a5bd9e8510c75d7a88a1072d88067aaa9.tar.gz rails-6a8dcc8a5bd9e8510c75d7a88a1072d88067aaa9.tar.bz2 rails-6a8dcc8a5bd9e8510c75d7a88a1072d88067aaa9.zip |
Make sure map.resources(:things, :new => { :new => :any }) correctly sets /things/new to be accessible by any method rather than creating another resource at /things/new;new
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5195 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_controller/resources.rb | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/actionpack/lib/action_controller/resources.rb b/actionpack/lib/action_controller/resources.rb index 3fc9c326b4..b2174b3c9a 100644 --- a/actionpack/lib/action_controller/resources.rb +++ b/actionpack/lib/action_controller/resources.rb @@ -46,6 +46,7 @@ module ActionController def add_default_actions add_default_action(member_methods, :get, :edit) + add_default_action(new_methods, :get, :new) end def set_prefixes @@ -253,13 +254,15 @@ module ActionController resource.new_methods.each do |method, actions| route_options = requirements_for(method) actions.each do |action| - map.named_route("#{resource.name_prefix}#{action}_new_#{resource.singular}", "#{resource.new_path};#{action}", route_options.merge(:action => action.to_s)) - map.named_route("formatted_#{resource.name_prefix}#{action}_new_#{resource.singular}", "#{resource.new_path}.:format;#{action}", route_options.merge(:action => action.to_s)) + if action == :new + map.named_route("#{resource.name_prefix}new_#{resource.singular}", resource.new_path, route_options.merge(:action => "new")) + map.named_route("formatted_#{resource.name_prefix}new_#{resource.singular}", "#{resource.new_path}.:format", route_options.merge(:action => "new")) + else + map.named_route("#{resource.name_prefix}#{action}_new_#{resource.singular}", "#{resource.new_path};#{action}", route_options.merge(:action => action.to_s)) + map.named_route("formatted_#{resource.name_prefix}#{action}_new_#{resource.singular}", "#{resource.new_path}.:format;#{action}", route_options.merge(:action => action.to_s)) + end end end - - map.named_route("#{resource.name_prefix}new_#{resource.singular}", resource.new_path, :action => "new", :conditions => { :method => :get }) - map.named_route("formatted_#{resource.name_prefix}new_#{resource.singular}", "#{resource.new_path}.:format", :action => "new", :conditions => { :method => :get }) end def map_member_actions(map, resource) |