diff options
author | Andrew White <andyw@pixeltrix.co.uk> | 2010-08-31 17:02:49 +0100 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-09-01 10:09:14 +0200 |
commit | 02480a897be25c24f59180513d37649a31ad3835 (patch) | |
tree | f365ca137c9994a3019a06cbec3574331b585a47 /actionpack/lib | |
parent | dbf82557e46b748e98a0ab6ed4ab6c823cac4dd2 (diff) | |
download | rails-02480a897be25c24f59180513d37649a31ad3835.tar.gz rails-02480a897be25c24f59180513d37649a31ad3835.tar.bz2 rails-02480a897be25c24f59180513d37649a31ad3835.zip |
Move implicit nested call before options handling so that nested constraints work [#5513 state:resolved]
Signed-off-by: José Valim <jose.valim@gmail.com>
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/mapper.rb | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb index a3bd4771c2..a2570cb877 100644 --- a/actionpack/lib/action_dispatch/routing/mapper.rb +++ b/actionpack/lib/action_dispatch/routing/mapper.rb @@ -909,6 +909,11 @@ module ActionDispatch return true end + if resource_scope? + nested { send(method, resources.pop, options, &block) } + return true + end + options.keys.each do |k| (options[:constraints] ||= {})[k] = options.delete(k) if options[k].is_a?(Regexp) end @@ -925,13 +930,6 @@ module ActionDispatch options.merge!(scope_action_options) if scope_action_options? end - if resource_scope? - nested do - send(method, resources.pop, options, &block) - end - return true - end - false end @@ -1017,11 +1015,11 @@ module ActionDispatch end def id_constraint? - @scope[:id].is_a?(Regexp) || (@scope[:constraints] && @scope[:constraints][:id].is_a?(Regexp)) + @scope[:constraints] && @scope[:constraints][:id].is_a?(Regexp) end def id_constraint - @scope[:id] || @scope[:constraints][:id] + @scope[:constraints][:id] end def canonical_action?(action, flag) |