diff options
author | Xavier Noria <fxn@hashref.com> | 2008-09-23 21:25:28 +0200 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2008-09-23 21:29:26 +0200 |
commit | 1915d7ccce99a35c1a5e95e639760168a4bcc99f (patch) | |
tree | 3df0c3cc9cbc0ceba6ce1f58a58a842e705d45e7 /actionpack/lib/action_controller | |
parent | 8a2820ada320a3bc7fcf8c6f3513d10039d650ad (diff) | |
download | rails-1915d7ccce99a35c1a5e95e639760168a4bcc99f.tar.gz rails-1915d7ccce99a35c1a5e95e639760168a4bcc99f.tar.bz2 rails-1915d7ccce99a35c1a5e95e639760168a4bcc99f.zip |
a leading slash in the :controller of url_for ensures you link to the root namespace
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r-- | actionpack/lib/action_controller/base.rb | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index 457b9e85bc..fe168788e2 100644 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -549,8 +549,8 @@ module ActionController #:nodoc: response end - # Returns a URL that has been rewritten according to the options hash and the defined Routes. - # (For doing a complete redirect, use redirect_to). + # Returns a URL that has been rewritten according to the options hash and the defined routes. + # (For doing a complete redirect, use +redirect_to+). # # <tt>url_for</tt> is used to: # @@ -590,7 +590,15 @@ module ActionController #:nodoc: # missing values in the current request's parameters. Routes attempts to guess when a value should and should not be # taken from the defaults. There are a few simple rules on how this is performed: # - # * If the controller name begins with a slash, no defaults are used: <tt>url_for :controller => '/home'</tt> + # * If the controller name begins with a slash no defaults are used: + # + # url_for :controller => '/home' + # + # In particular, a leading slash ensures no namespace is assumed. Thus, + # while <tt>url_for :controller => 'users'</tt> may resolve to + # <tt>Admin::UsersController</tt> if the current controller lives under + # that module, <tt>url_for :controller => '/users'</tt> ensures you link + # to <tt>::UsersController</tt> no matter what. # * If the controller changes, the action will default to index unless provided # # The final rule is applied while the URL is being generated and is best illustrated by an example. Let us consider the |