diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2015-08-28 14:55:47 +0200 |
---|---|---|
committer | Kasper Timm Hansen <kaspth@gmail.com> | 2015-08-28 14:55:47 +0200 |
commit | ca24ab8c1f7f6430a880046b4d3fa1e890eaadb9 (patch) | |
tree | 9f55076f09ef54b321988ee418e6179d91766993 /actionpack/lib | |
parent | 3c6bb892715a43b0e02336277f2dd2552fa68af4 (diff) | |
parent | 877e42e2321d544a50edaf23291130f131d6879d (diff) | |
download | rails-ca24ab8c1f7f6430a880046b4d3fa1e890eaadb9.tar.gz rails-ca24ab8c1f7f6430a880046b4d3fa1e890eaadb9.tar.bz2 rails-ca24ab8c1f7f6430a880046b4d3fa1e890eaadb9.zip |
Merge pull request #19565 from gaurish/multiple_require_params
[Feature] params.require accepts array of parameters that should be present or raise error
Diffstat (limited to 'actionpack/lib')
-rw-r--r-- | actionpack/lib/action_controller/metal/strong_parameters.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/metal/strong_parameters.rb b/actionpack/lib/action_controller/metal/strong_parameters.rb index fc8e345d43..02599a4654 100644 --- a/actionpack/lib/action_controller/metal/strong_parameters.rb +++ b/actionpack/lib/action_controller/metal/strong_parameters.rb @@ -252,7 +252,15 @@ module ActionController # # ActionController::Parameters.new(person: {}).require(:person) # # => ActionController::ParameterMissing: param is missing or the value is empty: person + # + # ActionController::Parameters.new(first_name: 'Gaurish', title: nil).require([:first_name, :title]) + # # => ActionController::ParameterMissing: param is missing or the value is empty: title + # + # params = ActionController::Parameters.new(first_name: 'Gaurish', title: Mjallo) + # first_name, title = params.require([:first_name, :title]) + # def require(key) + return keys.map { |k| require(k) } if key.is_a?(Array) value = self[key] if value.present? || value == false value |