diff options
author | Eugene Kenny <elkenny@gmail.com> | 2019-05-18 22:49:32 +0100 |
---|---|---|
committer | Eugene Kenny <elkenny@gmail.com> | 2019-05-18 22:49:32 +0100 |
commit | 46e84d5b104ca5dca88829c9db7941f0e6ce7aaa (patch) | |
tree | b2c70a0e4044bbbf2e73d1ca8470c403a9763664 /actionpack/CHANGELOG.md | |
parent | 88b12b2f605b5fbeefdfb4da7e6141de5b85a18f (diff) | |
download | rails-46e84d5b104ca5dca88829c9db7941f0e6ce7aaa.tar.gz rails-46e84d5b104ca5dca88829c9db7941f0e6ce7aaa.tar.bz2 rails-46e84d5b104ca5dca88829c9db7941f0e6ce7aaa.zip |
Return parameters enumerator from transform_keys/!
Previously calling `ActionController::Parameters#transform_keys/!`
without passing a block would return an enumerator for the underlying
hash, which was inconsistent with the behaviour when a block was passed:
ActionController::Parameters.new(foo: "bar").transform_keys { |k| k }
=> <ActionController::Parameters {"foo"=>"bar"} permitted: false>
ActionController::Parameters.new(foo: "bar").transform_keys.each { |k| k }
=> {"foo"=>"bar"}
An enumerator for the parameters is now returned instead, ensuring that
evaluating it produces another parameters object instead of a hash:
ActionController::Parameters.new(foo: "bar").transform_keys.each { |k| k }
=> <ActionController::Parameters {"foo"=>"bar"} permitted: false>
Diffstat (limited to 'actionpack/CHANGELOG.md')
-rw-r--r-- | actionpack/CHANGELOG.md | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/actionpack/CHANGELOG.md b/actionpack/CHANGELOG.md index d9046f1431..32721ac233 100644 --- a/actionpack/CHANGELOG.md +++ b/actionpack/CHANGELOG.md @@ -1,3 +1,8 @@ +* Calling `ActionController::Parameters#transform_keys/!` without a block now returns + an enumerator for the parameters instead of the underlying hash. + + *Eugene Kenny* + * Fix strong parameters blocks all attributes even when only some keys are invalid (non-numerical). It should only block invalid key's values instead. *Stan Lo* |