diff options
| author | Edouard CHIN <edouard.chin@shopify.com> | 2018-07-10 22:34:02 -0400 |
|---|---|---|
| committer | Edouard CHIN <edouard.chin@shopify.com> | 2018-07-12 13:04:27 -0400 |
| commit | 48b6bacbc534d4be3fa89bc19ea83c357a20e598 (patch) | |
| tree | 6c3a8bb3abd570eebfd8733ec4600093a5120404 /activemodel/lib/active_model/attribute_set | |
| parent | d4ea114bd611c608482375af94f49e2d54889202 (diff) | |
| download | rails-48b6bacbc534d4be3fa89bc19ea83c357a20e598.tar.gz rails-48b6bacbc534d4be3fa89bc19ea83c357a20e598.tar.bz2 rails-48b6bacbc534d4be3fa89bc19ea83c357a20e598.zip | |
e4e1b62 broke `to_param` handling:
- There was an issue inside controller tests where order params were not respected, the reason
was because we were calling `Hash#to_query` which sorts the results lexicographically.
1e4e1b62 fixed that issue by not using `to_query` but instead a utility function provided by rack.
- However with the fix came another issue where it's now no longer possible to do this
```
post :foo, params: { user: User.first }
# Prior to the patch the controller will receive { "user" => "1" }
# Whereas now you get { "user": "#<User: ...>" }
```
The fix in this PR is to modify `Hash#to_query` to sort only when it
doesn't contain an array structure that looks something like "bar[]"
Ref https://github.com/rails/rails/pull/33341#issuecomment-404039396
Diffstat (limited to 'activemodel/lib/active_model/attribute_set')
0 files changed, 0 insertions, 0 deletions
