aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorTobias Lütke <tobias.luetke@gmail.com>2007-05-17 01:27:54 +0000
committerTobias Lütke <tobias.luetke@gmail.com>2007-05-17 01:27:54 +0000
commit04823ff48fbde3ecf7849a1e1a3d3bcc4cc71aa8 (patch)
treef85eef6cfbac872e8bf8fa416781a9f946982e7d /actionpack/lib
parent40486288efea032808901a39787058f0d456cf16 (diff)
downloadrails-04823ff48fbde3ecf7849a1e1a3d3bcc4cc71aa8.tar.gz
rails-04823ff48fbde3ecf7849a1e1a3d3bcc4cc71aa8.tar.bz2
rails-04823ff48fbde3ecf7849a1e1a3d3bcc4cc71aa8.zip
Allow nested namespaces in routing
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6748 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_controller/resources.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/resources.rb b/actionpack/lib/action_controller/resources.rb
index a8373677fd..df0c64d91c 100644
--- a/actionpack/lib/action_controller/resources.rb
+++ b/actionpack/lib/action_controller/resources.rb
@@ -351,7 +351,11 @@ module ActionController
# It'll also create admin_product_tags_url pointing to "admin/products/#{product_id}/tags", which will look for
# Admin::TagsController.
def namespace(name, options = {}, &block)
- with_options({ :path_prefix => name, :name_prefix => "#{name}_", :namespace => "#{name}/" }.merge(options), &block)
+ if options[:namespace]
+ with_options({:path_prefix => "#{options.delete(:path_prefix)}/#{name}", :name_prefix => "#{options.delete(:name_prefix)}#{name}_", :namespace => "#{options.delete(:namespace)}#{name}/" }.merge(options), &block)
+ else
+ with_options({ :path_prefix => name.to_s, :name_prefix => "#{name}_", :namespace => "#{name}/" }.merge(options), &block)
+ end
end