method
url_for
v3.2.13 -
Show latest stable
-
0 notes -
Class: ActionDispatch::Http::URL
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0 (0)
- 3.2.1 (0)
- 3.2.8 (0)
- 3.2.13 (0)
- 4.0.2 (0)
- 4.1.8 (0)
- 4.2.1 (0)
- 4.2.7 (0)
- 4.2.9 (0)
- 5.0.0.1 (0)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (0)
- 6.1.3.1 (0)
- 6.1.7.7 (0)
- 7.0.0 (0)
- 7.1.3.2 (0)
- 7.1.3.4 (0)
- What's this?
url_for(options = {})
public
Hide source
# File actionpack/lib/action_dispatch/http/url.rb, line 23 def url_for(options = {}) unless options[:host].present? || options[:only_path].present? raise ArgumentError, 'Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true' end rewritten_url = "" unless options[:only_path] unless options[:protocol] == false rewritten_url << (options[:protocol] || "http") rewritten_url << ":" unless rewritten_url.match(%{:|//}) end rewritten_url << "//" unless rewritten_url.match("//") rewritten_url << rewrite_authentication(options) rewritten_url << host_or_subdomain_and_domain(options) rewritten_url << ":#{options.delete(:port)}" if options[:port] end path = options.delete(:path) || '' params = options[:params] || {} params.reject! {|k,v| v.to_param.nil? } if options[:trailing_slash] && !path.ends_with?('/') rewritten_url << path.sub(/(\?|\z)/) { "/" + $& } else rewritten_url << path end rewritten_url << "?#{params.to_query}" unless params.empty? rewritten_url << "##{Journey::Router::Utils.escape_fragment(options[:anchor].to_param.to_s)}" if options[:anchor] rewritten_url end