From b4f304b7b68e0b4fd780cc6d0944edefc362669d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Tue, 24 Aug 2010 10:09:06 -0300 Subject: Fix a bug where symbols and strings were not behaving the same in the router. [#5431 state:resolved] --- actionpack/lib/action_dispatch/routing/mapper.rb | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'actionpack/lib/action_dispatch/routing/mapper.rb') diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index 0a6cd63b56..4dc2fc086e 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -726,22 +726,17 @@ module ActionDispatch 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 -- cgit v1.2.3