diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2018-06-14 17:09:28 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-14 17:09:28 -0400 |
commit | 5f5dc91140dd4513f3eee06d82618eedd31bb170 (patch) | |
tree | bbf0df456d342bf41637c3e7e60c5df0b8f98b50 /guides | |
parent | 91ae6531976d0d2e7690bde0c1d5e6cc651f2578 (diff) | |
parent | 17af429958a863ee25a9e847d84cf394259338b0 (diff) | |
download | rails-5f5dc91140dd4513f3eee06d82618eedd31bb170.tar.gz rails-5f5dc91140dd4513f3eee06d82618eedd31bb170.tar.bz2 rails-5f5dc91140dd4513f3eee06d82618eedd31bb170.zip |
Merge pull request #33136 from Meekohi/master
Update example for whitelisting arbitrary hashes
Diffstat (limited to 'guides')
-rw-r--r-- | guides/source/action_controller_overview.md | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/guides/source/action_controller_overview.md b/guides/source/action_controller_overview.md index 60a19542e6..b912265754 100644 --- a/guides/source/action_controller_overview.md +++ b/guides/source/action_controller_overview.md @@ -334,26 +334,24 @@ with a `has_many` association: params.require(:book).permit(:title, chapters_attributes: [:title]) ``` -#### Outside the Scope of Strong Parameters - -The strong parameter API was designed with the most common use cases -in mind. It is not meant as a silver bullet to handle all of your -whitelisting problems. However, you can easily mix the API with your -own code to adapt to your situation. - Imagine a scenario where you have parameters representing a product name and a hash of arbitrary data associated with that product, and you want to whitelist the product name attribute and also the whole -data hash. The strong parameters API doesn't let you directly -whitelist the whole of a nested hash with any keys, but you can use -the keys of your nested hash to declare what to whitelist: +data hash: ```ruby def product_params - params.require(:product).permit(:name, data: params[:product][:data].try(:keys)) + params.require(:product).permit(:name, data: {}) end ``` +#### Outside the Scope of Strong Parameters + +The strong parameter API was designed with the most common use cases +in mind. It is not meant as a silver bullet to handle all of your +whitelisting problems. However, you can easily mix the API with your +own code to adapt to your situation. + Session ------- |