Methods

Class/Module Index [+]

Quicksearch

Sinatra::UrlForHelper

Public Instance Methods

url_for(url_fragment, mode=:path_only) click to toggle source

Construct a link to url_fragment, which should be given relative to the base of this Sinatra app. The mode should be either :path_only, which will generate an absolute path within the current domain (the default), or :full, which will include the site name and port number. (The latter is typically necessary for links in RSS feeds.) Example usage:

url_for "/"            # Returns "/myapp/"
url_for "/foo"         # Returns "/myapp/foo"
url_for "/foo", :full  # Returns "http://example.com/myapp/foo"
# File lib/sinatra/url_for.rb, line 16
def url_for url_fragment, mode=:path_only
  case mode
  when :path_only
    base = request.script_name
  when :full
    scheme = request.scheme
    if (scheme == 'http' && request.port == 80 ||
        scheme == 'https' && request.port == 443)
      port = ""
    else
      port = ":#{request.port}"
    end
    base = "#{scheme}://#{request.host}#{port}#{request.script_name}"
  else
    raise TypeError, "Unknown url_for mode #{mode}"
  end
  "#{base}#{url_fragment}"
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.