You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
0 commit comments