url_for.rb 592 字节
Newer Older
1 2 3 4
module ActionController
  module UrlFor
    extend ActiveSupport::Concern

5
    include AbstractController::UrlFor
6

7
    def url_options
8 9 10 11 12 13 14 15
      @_url_options ||= super.reverse_merge(
        :host => request.host_with_port,
        :protocol => request.protocol,
        :_path_segments => request.symbolized_path_parameters
      ).freeze

      if _routes.equal?(env["action_dispatch.routes"])
        @_url_options.dup.tap do |options|
16
          options[:script_name] = request.script_name.dup
17
          options.freeze
18
        end
19 20
      else
        @_url_options
21
      end
22 23
    end
  end
24
end