From 69e87f5994f74eef02fdfd7912ae81a334d74218 Mon Sep 17 00:00:00 2001 From: Yves Senn Date: Tue, 26 Mar 2013 12:19:46 +0100 Subject: routing shorthand syntax works with multiple paths Closes #9913. We need to expand the match shorthand syntax for every path. --- actionpack/lib/action_dispatch/routing/mapper.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'actionpack/lib/action_dispatch') diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index f9893f2d85..f9cdfd5cf0 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -1369,11 +1369,6 @@ module ActionDispatch paths = [path] + rest end - path_without_format = path.to_s.sub(/\(\.:format\)$/, '') - if using_match_shorthand?(path_without_format, options) - options[:to] ||= path_without_format.gsub(%r{^/}, "").sub(%r{/([^/]*)$}, '#\1') - end - options[:anchor] = true unless options.key?(:anchor) if options[:on] && !VALID_ON_OPTIONS.include?(options[:on]) @@ -1383,6 +1378,12 @@ module ActionDispatch paths.each do |_path| route_options = options.dup route_options[:path] ||= _path if _path.is_a?(String) + + path_without_format = _path.to_s.sub(/\(\.:format\)$/, '') + if using_match_shorthand?(path_without_format, route_options) + route_options[:to] ||= path_without_format.gsub(%r{^/}, "").sub(%r{/([^/]*)$}, '#\1') + end + decomposed_match(_path, route_options) end self -- cgit v1.2.3