diff options
author | Chris Carter <chris.carter@unboxedconsulting.com> | 2016-09-20 10:42:26 +0100 |
---|---|---|
committer | Chris Carter <chris.carter@unboxedconsulting.com> | 2016-10-03 09:52:14 +0100 |
commit | 0b32e2dff353ceb9bc463787c5897ecae7302ab7 (patch) | |
tree | b549472a55b336e05bbad52b98630f360f53f63f /actionpack/lib/action_dispatch/routing | |
parent | 2d6c14bca25c5629e431a802c3053bad1e378fcc (diff) | |
download | rails-0b32e2dff353ceb9bc463787c5897ecae7302ab7.tar.gz rails-0b32e2dff353ceb9bc463787c5897ecae7302ab7.tar.bz2 rails-0b32e2dff353ceb9bc463787c5897ecae7302ab7.zip |
Show an "unmatched constraints" error for mismatching and present params
Currently a misleading "missing required keys" error is thrown when a param
fails to match the constraints of a particular route. This commit ensures that
these params are recognised as unmatching rather than missing.
Note: this means that a different error message will be provided between
optimized and non-optimized path helpers, due to the fact that the former does
not check constraints when matching routes.
Fixes #26470.
Diffstat (limited to 'actionpack/lib/action_dispatch/routing')
-rw-r--r-- | actionpack/lib/action_dispatch/routing/route_set.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/actionpack/lib/action_dispatch/routing/route_set.rb b/actionpack/lib/action_dispatch/routing/route_set.rb index 5abf59402d..a1bc357c8b 100644 --- a/actionpack/lib/action_dispatch/routing/route_set.rb +++ b/actionpack/lib/action_dispatch/routing/route_set.rb @@ -210,7 +210,7 @@ module ActionDispatch } constraints = Hash[@route.requirements.merge(params).sort_by { |k,v| k.to_s }] message = "No route matches #{constraints.inspect}" - message << " missing required keys: #{missing_keys.sort.inspect}" + message << ", missing required keys: #{missing_keys.sort.inspect}" raise ActionController::UrlGenerationError, message end |