class ActionDispatch::Routing::OptionRedirect
def path(params, request)
def path(params, request) url_options = { protocol: request.protocol, host: request.host, port: request.optional_port, path: request.path, params: request.query_parameters }.merge! options if !params.empty? && url_options[:path].match(/%\{\w*\}/) url_options[:path] = (url_options[:path] % escape_path(params)) end unless options[:host] || options[:domain] if relative_path?(url_options[:path]) url_options[:path] = "/#{url_options[:path]}" url_options[:script_name] = request.script_name elsif url_options[:path].empty? url_options[:path] = request.script_name.empty? ? "/" : "" url_options[:script_name] = request.script_name end end ActionDispatch::Http::URL.url_for url_options end