diff --git a/actionview/lib/action_view/routing_url_for.rb b/actionview/lib/action_view/routing_url_for.rb index b4cbc80bd5b3c21e170cb8451ea7ce36d8cac29b..87e7e9ade7b6b27d37e54cfa23db475a6781ea33 100644 --- a/actionview/lib/action_view/routing_url_for.rb +++ b/actionview/lib/action_view/routing_url_for.rb @@ -84,21 +84,13 @@ def url_for(options = nil) when Hash options = options.symbolize_keys unless options.key?(:only_path) - if options[:host].nil? - options[:only_path] = _generate_paths_by_default - else - options[:only_path] = false - end + options[:only_path] = only_path?(options[:host]) end super(options) when ActionController::Parameters unless options.key?(:only_path) - if options[:host].nil? - options[:only_path] = _generate_paths_by_default - else - options[:only_path] = false - end + options[:only_path] = only_path?(options[:host]) end super(options) @@ -147,5 +139,9 @@ def optimize_routes_generation? #:nodoc: def _generate_paths_by_default true end + + def only_path?(host) + _generate_paths_by_default unless host + end end end