Module: ActionController::UrlWriter

Module | ActionController::UrlWriter
In: | lib/action_controller/url_rewriter.rb

Write URLs from arbitrary places in your codebase, such as your mailers.

Example:

      class MyMailer
        include ActionController::UrlWriter
        default_url_options[:host] = 'www.basecamphq.com'

        def signup_url(token)
          url_for(:controller => 'signup', action => 'index', :token => token)
        end
     end

In addition to providing `url_for`, named routes are also accessible after including UrlWriter.

### Methods

url_for

### Public Instance methods

url_for(options)

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 to `false`.
- `:protocol` - The protocol to connect to. Defaults to ‘http’.
- `:host` - Specifies the host the link should be targetted at. If `:only_path` is false, this option must be provided either explicitly, or via `default_url_options`.
- `:port` - Optionally specify the port to connect to.
- `:anchor` - An anchor name to be appended to the path.
- `:skip_relative_url_root` - If true, the url is not constructed using the `relative_url_root` set in ActionController::AbstractRequest.relative_url_root.
- `: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'

[Validate]