module ActionDispatch::Routing::Mapper::Base
def mount(app, options = nil)
This will generate the +exciting_path+ and +exciting_url+ helpers
mount(SomeRackApp => "some_route", as: "exciting")
To customize this helper's name, use the +:as+ option:
the helper is either +some_rack_app_path+ or +some_rack_app_url+.
These are named after the class specified, so for the above example
All mounted applications come with routing helpers to access them.
For options, see +match+, as +mount+ uses it internally.
mount(SomeRackApp => "some_route")
Alternatively:
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