Method deprecated or moved
This method is deprecated or moved on the latest stable version.
The last existing version (v6.0.0 ) is shown here.
mount (app, options = nil)
public
Mount a Rack-based application to be used within
the application.
mount SomeRackApp , at : " some_route "
Alternatively:
mount ( SomeRackApp => " some_route ")
For options, see match, as mount uses
it internally.
All mounted applications come with routing helpers to access them. These
are named after the class specified, so for the above example the helper is
either some_rack_app_path or some_rack_app_url . To
customize this helper’s name, use the :as option:
mount ( SomeRackApp => " some_route ", as : " exciting ")
This will generate the exciting_path and exciting_url
helpers which can be used to navigate to this mounted app.
Show source # File actionpack/lib/action_dispatch/routing/mapper.rb, line 612
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, options.merge(to: app, anchor: false, format: false))
define_generate_prefix(app, target_as) if rails_app
self
end