aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib
diff options
context:
space:
mode:
authorSam Ruby <rubys@intertwingly.net>2013-02-26 09:51:35 -0500
committerSam Ruby <rubys@intertwingly.net>2013-02-26 09:51:35 -0500
commit977455cc2efb94f40b4c0d46d1842be198ed7c4c (patch)
tree249a0fc7fed5fafed2ef75a1596d3fc0ee987fc0 /actionpack/lib
parent8bc5e714f48af5ef94e4c884121ca55729013c7b (diff)
downloadrails-977455cc2efb94f40b4c0d46d1842be198ed7c4c.tar.gz
rails-977455cc2efb94f40b4c0d46d1842be198ed7c4c.tar.bz2
rails-977455cc2efb94f40b4c0d46d1842be198ed7c4c.zip
Allow both a path and an option on root in config/routes
Diffstat (limited to 'actionpack/lib')
-rw-r--r--actionpack/lib/action_dispatch/routing/mapper.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/actionpack/lib/action_dispatch/routing/mapper.rb b/actionpack/lib/action_dispatch/routing/mapper.rb
index a8e225d61c..817480c7ae 100644
--- a/actionpack/lib/action_dispatch/routing/mapper.rb
+++ b/actionpack/lib/action_dispatch/routing/mapper.rb
@@ -329,7 +329,6 @@ module ActionDispatch
# because this means it will be matched first. As this is the most popular route
# of most Rails applications, this is beneficial.
def root(options = {})
- options = { :to => options } if options.is_a?(String)
match '/', { :as => :root, :via => :get }.merge!(options)
end
@@ -1427,7 +1426,15 @@ module ActionDispatch
@set.add_route(app, conditions, requirements, defaults, as, anchor)
end
- def root(options={})
+ def root(path, options={})
+ if path.is_a?(String)
+ options[:to] = path
+ elsif path.is_a?(Hash) and options.empty?
+ options = path
+ else
+ raise ArgumentError, "must be called with a path and/or options"
+ end
+
if @scope[:scope_level] == :resources
with_scope_level(:root) do
scope(parent_resource.path) do