diff options
author | Andrew White <andyw@pixeltrix.co.uk> | 2010-08-20 08:33:48 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-08-20 09:32:48 -0300 |
commit | 771d2f918fc87bdd4f83e6666fd816e9f0dcedfb (patch) | |
tree | 869060290b887eb0186ac87da9af2da0489deef0 /actionpack | |
parent | 43291469cb1587f8f48ce96d79487bbffa6bc29f (diff) | |
download | rails-771d2f918fc87bdd4f83e6666fd816e9f0dcedfb.tar.gz rails-771d2f918fc87bdd4f83e6666fd816e9f0dcedfb.tar.bz2 rails-771d2f918fc87bdd4f83e6666fd816e9f0dcedfb.zip |
Allow symbols for :path resource(s) option [#5306 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/mapper.rb | 4 | ||||
-rw-r--r-- | actionpack/test/dispatch/routing_test.rb | 19 |
2 files changed, 21 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index b9e097e5d1..5c5e7ed612 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -473,7 +473,7 @@ module ActionDispatch def initialize(entities, options = {}) @name = entities.to_s - @path = options.delete(:path) || @name + @path = (options.delete(:path) || @name).to_s @controller = (options.delete(:controller) || @name).to_s @as = options.delete(:as) @options = options @@ -537,7 +537,7 @@ module ActionDispatch def initialize(entities, options) @name = entities.to_s - @path = options.delete(:path) || @name + @path = (options.delete(:path) || @name).to_s @controller = (options.delete(:controller) || plural).to_s @as = options.delete(:as) @options = options diff --git a/actionpack/test/dispatch/routing_test.rb b/actionpack/test/dispatch/routing_test.rb index fa8447efae..739b892c78 100644 --- a/actionpack/test/dispatch/routing_test.rb +++ b/actionpack/test/dispatch/routing_test.rb @@ -385,6 +385,9 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest end end + resources :wiki_pages, :path => :pages + resource :wiki_account, :path => :my_account + scope :only => :show do namespace :only do resources :sectors, :only => :index do @@ -1984,6 +1987,22 @@ class TestRoutingMapper < ActionDispatch::IntegrationTest end end + def test_resources_path_can_be_a_symbol + with_test_routes do + get '/pages' + assert_equal 'wiki_pages#index', @response.body + assert_equal '/pages', wiki_pages_path + + get '/pages/Ruby_on_Rails' + assert_equal 'wiki_pages#show', @response.body + assert_equal '/pages/Ruby_on_Rails', wiki_page_path(:id => 'Ruby_on_Rails') + + get '/my_account' + assert_equal 'wiki_accounts#show', @response.body + assert_equal '/my_account', wiki_account_path + end + end + private def with_test_routes yield |