aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/routing
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_dispatch/routing')
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb13
1 files changed, 4 insertions, 9 deletions
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