aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch
diff options
context:
space:
mode:
authorDylan Waits <dylan@waits.io>2016-04-02 18:38:22 -0700
committerDylan Waits <dylan@waits.io>2016-04-03 17:44:11 -0700
commite09e600a48e525553767da5a1ec2e756fe62aac4 (patch)
treecadc52f3e55af4ca5c87bbb50389f00cea1d276e /actionpack/lib/action_dispatch
parent8040e55063abde6eeaac2702ca9961ce34a2d6c7 (diff)
downloadrails-e09e600a48e525553767da5a1ec2e756fe62aac4.tar.gz
rails-e09e600a48e525553767da5a1ec2e756fe62aac4.tar.bz2
rails-e09e600a48e525553767da5a1ec2e756fe62aac4.zip
Honor shallow: false on nested resources
Previously there was no way to place a non-shallow resource inside a parent with `shallow: true` set. Now you can set `shallow: false` on a nested child resource to generate normal (non-shallow) routes for it. Fixes #23890.
Diffstat (limited to 'actionpack/lib/action_dispatch')
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb5
1 files changed, 4 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb
index 16b430c36e..81ffea4d5d 100644
--- a/actionpack/lib/action_dispatch/routing/mapper.rb
+++ b/actionpack/lib/action_dispatch/routing/mapper.rb
@@ -1362,6 +1362,8 @@ module ActionDispatch
# as a comment on a blog post like <tt>/posts/a-long-permalink/comments/1234</tt>
# to be shortened to just <tt>/comments/1234</tt>.
#
+ # Set shallow: false on a child resource to ignore a parent's shallow parameter.
+ #
# [:shallow_path]
# Prefixes nested shallow routes with the specified path.
#
@@ -1724,7 +1726,8 @@ to this:
return true
end
- if options.delete(:shallow)
+ if options[:shallow]
+ options.delete(:shallow)
shallow do
send(method, resources.pop, options, &block)
end