diff options
author | Michael Koziarski <michael@koziarski.com> | 2008-01-26 08:41:19 +0000 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2008-01-26 08:41:19 +0000 |
commit | 6e165b894051a23c2818cb8d21dd74de8d41c622 (patch) | |
tree | 04054b28ad0f83e843336c5d4bd7f46f06fd5cd7 /actionpack/lib | |
parent | 07132865d69cda80feba26827d3de9fe19365876 (diff) | |
download | rails-6e165b894051a23c2818cb8d21dd74de8d41c622.tar.gz rails-6e165b894051a23c2818cb8d21dd74de8d41c622.tar.bz2 rails-6e165b894051a23c2818cb8d21dd74de8d41c622.zip |
Make it simpler to make the root route an alias for another route. Closes #10818 [bscofield]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8738 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_controller/routing.rb | 6 | ||||
-rw-r--r-- | actionpack/lib/action_controller/routing/route_set.rb | 5 |
2 files changed, 11 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/routing.rb b/actionpack/lib/action_controller/routing.rb index d93dc5205f..70745f9d27 100644 --- a/actionpack/lib/action_controller/routing.rb +++ b/actionpack/lib/action_controller/routing.rb @@ -115,6 +115,12 @@ module ActionController # root_url # => 'http://www.example.com/' # root_path # => '' # + # You can also specify an already-defined named route in your map.root call: + # + # # In routes.rb + # map.new_session :controller => 'sessions', :action => 'new' + # map.root :new_session + # # Note: when using +with_options+, the route is simply named after the # method you call on the block parameter rather than map. # diff --git a/actionpack/lib/action_controller/routing/route_set.rb b/actionpack/lib/action_controller/routing/route_set.rb index 30995297f3..6ba1a5c3ea 100644 --- a/actionpack/lib/action_controller/routing/route_set.rb +++ b/actionpack/lib/action_controller/routing/route_set.rb @@ -19,6 +19,11 @@ module ActionController # Creates a named route called "root" for matching the root level request. def root(options = {}) + if options.is_a?(Symbol) + if source_route = @set.named_routes.routes[options] + options = source_route.defaults.merge({ :conditions => source_route.conditions }) + end + end named_route("root", '', options) end |