Skip to content

Commit

Permalink
Fix a bug where symbols and strings were not behaving the same in the…
Browse files Browse the repository at this point in the history
… router. [#5431 state:resolved]
  • Loading branch information
josevalim committed Aug 24, 2010
1 parent 2fb0cbe commit b4f304b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 12 deletions.
13 changes: 4 additions & 9 deletions actionpack/lib/action_dispatch/routing/mapper.rb
Expand Up @@ -726,22 +726,17 @@ def match(*args)
path = options.delete(:path)
action = args.first

if action.is_a?(Symbol)
if action && action.to_s =~ /^[\w_]+$/
path = path_for_action(action, path)
options[:to] ||= action
options[:as] = name_for_action(action, options[:as])
options[:action] ||= action
options[:as] = name_for_action(action, options[:as])

with_exclusive_scope do
return super(path, options)
end
elsif resource_method_scope?
path = path_for_custom_action
if action =~ /^[a-zA-Z][_a-zA-Z0-9]*$/
options[:action] ||= action
options[:as] = name_for_action(action, options[:as])
else
options[:as] = name_for_action(options[:as]) if options[:as]
end
options[:as] = name_for_action(options[:as]) if options[:as]
args.push(options)

with_exclusive_scope do
Expand Down
6 changes: 3 additions & 3 deletions actionpack/test/dispatch/routing_test.rb
Expand Up @@ -658,7 +658,7 @@ def test_bookmarks

get '/bookmark/remove'
assert_equal 'bookmarks#destroy', @response.body
assert_equal '/bookmark/remove', bookmark_remove_path
assert_equal '/bookmark/remove', remove_bookmark_path
end
end

Expand Down Expand Up @@ -1192,7 +1192,7 @@ def test_match_shorthand_with_no_scope

def test_match_shorthand_inside_namespace
with_test_routes do
assert_equal '/account/shorthand', account_shorthand_path
assert_equal '/account/shorthand', shorthand_account_path
get '/account/shorthand'
assert_equal 'account#shorthand', @response.body
end
Expand Down Expand Up @@ -1244,7 +1244,7 @@ def test_redirect_with_port

def test_normalize_namespaced_matches
with_test_routes do
assert_equal '/account/description', account_description_path
assert_equal '/account/description', description_account_path

get '/account/description'
assert_equal 'account#description', @response.body
Expand Down

0 comments on commit b4f304b

Please sign in to comment.