method
normalize_options!
v4.1.8 -
Show latest stable
- Class:
ActionDispatch::Routing::Mapper::Mapping
normalize_options!()private
No documentation available.
# File actionpack/lib/action_dispatch/routing/mapper.rb, line 97
def normalize_options!
@options.reverse_merge!(scope[:options]) if scope[:options]
path_without_format = path.sub(/\(\.:format\)$/, '')
# Add a constraint for wildcard route to make it non-greedy and match the
# optional format part of the route by default
if path_without_format.match(WILDCARD_PATH) && @options[:format] != false
@options[$1.to_sym] ||= /.+?/
end
if path_without_format.match(':controller')
raise ArgumentError, ":controller segment is not allowed within a namespace block" if scope[:module]
# Add a default constraint for :controller path segments that matches namespaced
# controllers with default routes like :controller/:action/:id(.:format), e.g:
# GET /admin/products/show/1
# => { controller: 'admin/products', action: 'show', id: '1' }
@options[:controller] ||= /.+?/
end
@options.merge!(default_controller_and_action)
end