aboutsummaryrefslogblamecommitdiffstats
path: root/actionpack/lib/action_controller/metal/url_for.rb
blob: ef1071bb3d4efd9f4a376c3caac8994d6fa78405 (plain) (tree)
1
2
3
4
5
6
7



                                 
                                      
 
                   




                                                         
 





                                                               
       
     
   
module ActionController
  module UrlFor
    extend ActiveSupport::Concern

    include AbstractController::UrlFor

    def url_options
      @_url_options ||= begin
        options = {}
        if _routes.equal?(env["action_dispatch.routes"])
          options[:script_name] = request.script_name.dup
        end

        super.merge(options).reverse_merge(
          :host => request.host_with_port,
          :protocol => request.protocol,
          :_path_segments => request.symbolized_path_parameters
        ).freeze
      end
    end
  end
end