aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller
diff options
context:
space:
mode:
authorSean Griffin <sean@seantheprogrammer.com>2015-07-19 15:57:57 -0600
committerSean Griffin <sean@seantheprogrammer.com>2015-07-19 15:57:57 -0600
commite19acbb8831e214eb38d589bf8c424edf80c2970 (patch)
tree7df65f58486ae70559a90905ff7bacc39204fde4 /actionpack/lib/action_controller
parent6765d4874e7afaa8da0c7790710fe43726ef412c (diff)
parent780af27bf9135be8cc4ae1a9c1ce4c9b4d15fd4b (diff)
downloadrails-e19acbb8831e214eb38d589bf8c424edf80c2970.tar.gz
rails-e19acbb8831e214eb38d589bf8c424edf80c2970.tar.bz2
rails-e19acbb8831e214eb38d589bf8c424edf80c2970.zip
Merge pull request #20936 from repinel/fix-params-fetch-exception-overwritten
Fix exception overwritten for parameters fetch method
Diffstat (limited to 'actionpack/lib/action_controller')
-rw-r--r--actionpack/lib/action_controller/metal/strong_parameters.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/metal/strong_parameters.rb b/actionpack/lib/action_controller/metal/strong_parameters.rb
index 06d625e4d5..cf6a64009f 100644
--- a/actionpack/lib/action_controller/metal/strong_parameters.rb
+++ b/actionpack/lib/action_controller/metal/strong_parameters.rb
@@ -380,11 +380,15 @@ module ActionController
def fetch(key, *args, &block)
convert_hashes_to_parameters(
key,
- @parameters.fetch(key, *args, &block),
+ @parameters.fetch(key) {
+ if block_given?
+ yield
+ else
+ args.fetch(0) { raise ActionController::ParameterMissing.new(key) }
+ end
+ },
false
)
- rescue KeyError
- raise ActionController::ParameterMissing.new(key)
end
# Returns a new <tt>ActionController::Parameters</tt> instance that