aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/metal/url_for.rb
blob: c890dc51d4fe9a309e6480355f09b9c0451f8dfd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
module ActionController
  module UrlFor
    extend ActiveSupport::Concern

    include ActionDispatch::Routing::UrlFor
    include ActionController::RackDelegation

    def url_options
      super.reverse_merge(
        :host => request.host_with_port,
        :protocol => request.protocol,
        # ROUTES TODO: relative_url_root should be middleware
        # and the generator should take SCRIPT_NAME into
        # consideration
        :relative_url_root => config.relative_url_root,
        :_path_segments => request.symbolized_path_parameters
      )
    end

    def _router
      raise "In order to use #url_for, you must include the helpers of a particular " \
            "router. For instance, `include Rails.application.routes.url_helpers"
    end
  end
end