Method: ActionDispatch::Routing::UrlFor#url_for
- Defined in:
- actionpack/lib/action_dispatch/routing/url_for.rb
#url_for(options = nil) ⇒ Object
Generate a url based on the options provided, default_url_options and the routes defined in routes.rb. The following options are supported:
-
:only_path
- If true, the relative url is returned. Defaults tofalse
. -
:protocol
- The protocol to connect to. Defaults to ‘http’. -
:host
- Specifies the host the link should be targeted at. If:only_path
is false, this option must be provided either explicitly, or viadefault_url_options
. -
:subdomain
- Specifies the subdomain of the link, using thetld_length
to split the subdomain from the host. If false, removes all subdomains from the host part of the link. -
:domain
- Specifies the domain of the link, using thetld_length
to split the domain from the host. -
:tld_length
- Number of labels the TLD id composed of, only used if:subdomain
or:domain
are supplied. Defaults toActionDispatch::Http::URL.tld_length
, which in turn defaults to 1. -
:port
- Optionally specify the port to connect to. -
:anchor
- An anchor name to be appended to the path. -
:trailing_slash
- If true, adds a trailing slash, as in “/archive/2009/”
Any other key (:controller
, :action
, etc.) given to url_for
is forwarded to the Routes module.
Examples:
url_for :controller => 'tasks', :action => 'testing', :host => 'somehost.org', :port => '8080'
# => 'http://somehost.org:8080/tasks/testing'
url_for :controller => 'tasks', :action => 'testing', :host => 'somehost.org', :anchor => 'ok', :only_path => true
# => '/tasks/testing#ok'
url_for :controller => 'tasks', :action => 'testing', :trailing_slash => true
# => 'http://somehost.org/tasks/testing/'
url_for :controller => 'tasks', :action => 'testing', :host => 'somehost.org', :number => '33'
# => 'http://somehost.org/tasks/testing?number=33'
143 144 145 146 147 148 149 150 151 152 |
# File 'actionpack/lib/action_dispatch/routing/url_for.rb', line 143 def url_for( = nil) case when String when nil, Hash _routes.url_for(( || {}).symbolize_keys.reverse_merge!()) else polymorphic_url() end end |