method
add_route
v6.1.3.1 -
Show latest stable
- Class:
ActionDispatch::Routing::Mapper::Mapping::Scoping::Resources
add_route(action, controller, options, _path, to, via, formatted, anchor, options_constraints)private
No documentation available.
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 1962
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 URI::DEFAULT_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