method
raise_named_route_error
v2.3.8 -
Show latest stable
- Class:
ActionController::Routing::RouteSet
raise_named_route_error(options, named_route, named_route_name)public
try to give a helpful error message when named route generation fails
# File actionpack/lib/action_controller/routing/route_set.rb, line 426
def raise_named_route_error(options, named_route, named_route_name)
diff = named_route.requirements.diff(options)
unless diff.empty?
raise RoutingError, "#{named_route_name}_url failed to generate from #{options.inspect}, expected: #{named_route.requirements.inspect}, diff: #{named_route.requirements.diff(options).inspect}"
else
required_segments = named_route.segments.select {|seg| (!seg.optional?) && (!seg.is_a?(DividerSegment)) }
required_keys_or_values = required_segments.map { |seg| seg.key rescue seg.value } # we want either the key or the value from the segment
raise RoutingError, "#{named_route_name}_url failed to generate from #{options.inspect} - you may have ambiguous routes, or you may need to supply additional parameters for this route. content_url has the following required parameters: #{required_keys_or_values.inspect} - are they all satisfied?"
end
end Related methods
- Instance methods
- add_configuration_file
- add_named_route
- add_route
- build_expiry
- builder
- call
- clear!
- configuration_file
- configuration_file=
- deprecated_routes_for_controller_and_action_and_keys
- draw
- empty?
- extra_keys
- extract_request_environment
- generate
- generate_code
- generate_extras
- install_helpers
- load!
- load_routes!
- options_as_params
- raise_named_route_error
- recognize
- recognize_path
- recognize_path
- reload
- reload!
- routes_by_controller
- routes_changed_at
- routes_for
- routes_for_controller_and_action
- routes_for_controller_and_action_and_keys
- segment_tree
- to_plain_segments
- Class methods
- new
- Private methods
-
clear_recognize_optimized! -
remove_recognize_optimized! -
write_recognize_optimized!