mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Allow symbols for :path resource(s) option [#5306 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user