Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
FormHelper: convert params#to_unsafe_h only if Rails 5, add tests.
This adresses an issue correctly brought up by @ryanswood in PR #644 concerning Rails 4.2 where params#to_unsafe_h still needs to be converted from a Hash to a HWIA to respond to symbol hash keys. I prefer to trying adding a conditional on Active Record version rather than an extra HWIA conversion. The tests are run for Rails 4 and 5, since ActionController::Parameters was backported to 4.x. Rails 3 raises if ActionController::Parameters is invoked, so the tests are skipped in that case. This commit is necessary because when the following is run: ActionController::Parameters.new(q: 1).to_unsafe_h.fetch(:q) with Rails 5 it works, but not with Rails 4.2. The reason is that in Rails 5, #to_unsafe_h calls StrongParameters::convert_parameters_to_hashes which converts hashes to HWIA, whereas in Rails 4.2 it just calls #to_hash without HWIA.
- Loading branch information
14e66ca
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Correction to the commit message:
ActionController::Parameters
has been a part of Rails since 4.0, which is why the tests in this commit are run for Rails 4 and 5, but not Rails 3.