module ActionDispatch::Routing::Mapper::Base
def mount(app, options = nil)
This will generate the `exciting_path` and `exciting_url` helpers which can be
mount(SomeRackApp, at: "some_route", as: "exciting")
use the `:as` option:
`some_rack_app_path` or `some_rack_app_url`. To customize this helper's name,
named after the class specified, so for the above example the helper is either
All mounted applications come with routing helpers to access them. These are
For options, see `match`, as `mount` uses it internally.
mount SomeRackApp, at: "some_route"
Mount a Rack-based application to be used within the application.
def mount(app, options = nil) if options path = options.delete(:at) elsif Hash === app options = app app, path = options.find { |k, _| k.respond_to?(:call) } options.delete(app) if app end raise ArgumentError, "A rack application must be specified" unless app.respond_to?(:call) raise ArgumentError, <<~MSG unless path Must be called with mount point mount SomeRackApp, at: "some_route" or mount(SomeRackApp => "some_route") MSG rails_app = rails_app? app options[:as] ||= app_name(app, rails_app) target_as = name_for_action(options[:as], path) options[:via] ||= :all match(path, { to: app, anchor: false, format: false }.merge(options)) define_generate_prefix(app, target_as) if rails_app self end