instance method
add_route
Ruby on Rails 7.2.3
Since v5.2.8.1 PrivateSignature
add_route(action, controller, options, _path, to, via, formatted, anchor, options_constraints)
No documentation comment.
Parameters
-
actionreq -
controllerreq -
optionsreq -
_pathreq -
toreq -
viareq -
formattedreq -
anchorreq -
options_constraintsreq
Source
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 2008
def add_route(action, controller, options, _path, to, via, formatted, anchor, options_constraints)
path = path_for_action(action, _path)
raise ArgumentError, "path is required" if path.blank?
action = action.to_s
default_action = options.delete(:action) || @scope[:action]
if /^[\w\-\/]+$/.match?(action)
default_action ||= action.tr("-", "_") unless action.include?("/")
else
action = nil
end
as = if !options.fetch(:as, true) # if it's set to nil or false
options.delete(:as)
else
name_for_action(options.delete(:as), action)
end
path = Mapping.normalize_path RFC2396_PARSER.escape(path), formatted
ast = Journey::Parser.parse path
mapping = Mapping.build(@scope, @set, ast, controller, default_action, to, via, formatted, options_constraints, anchor, options)
@set.add_route(mapping, as)
end
Defined in actionpack/lib/action_dispatch/routing/mapper.rb line 2008
· View on GitHub
· Improve this page
· Find usages on GitHub
Defined in ActionDispatch::Routing::Mapper::Resources