diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2006-08-26 03:09:32 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2006-08-26 03:09:32 +0000 |
commit | 7b34d0f8c503789f00b1d312a0f24a4cd5c063c5 (patch) | |
tree | b6b4a4e9315697705b2e6fc1d1e83bf9901f40ec /actionpack | |
parent | a78519071c261eab54d587b609bf76eecc7420b0 (diff) | |
download | rails-7b34d0f8c503789f00b1d312a0f24a4cd5c063c5.tar.gz rails-7b34d0f8c503789f00b1d312a0f24a4cd5c063c5.tar.bz2 rails-7b34d0f8c503789f00b1d312a0f24a4cd5c063c5.zip |
Actually, indifferent access mattered in the bowels (hashes hidden in arrays)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4823 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack')
-rwxr-xr-x | actionpack/lib/action_controller/cgi_ext/cgi_methods.rb | 2 | ||||
-rwxr-xr-x | actionpack/test/controller/cgi_test.rb | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/cgi_ext/cgi_methods.rb b/actionpack/lib/action_controller/cgi_ext/cgi_methods.rb index 5f4f8d80d5..26adbca13c 100755 --- a/actionpack/lib/action_controller/cgi_ext/cgi_methods.rb +++ b/actionpack/lib/action_controller/cgi_ext/cgi_methods.rb @@ -207,7 +207,7 @@ class CGIMethods #:nodoc: if top[-1].is_a?(Hash) && ! top[-1].key?(key) top[-1][key] = value else - top << {key => value} + top << {key => value}.with_indifferent_access push top.last end else diff --git a/actionpack/test/controller/cgi_test.rb b/actionpack/test/controller/cgi_test.rb index ee2892f618..d235379e3d 100755 --- a/actionpack/test/controller/cgi_test.rb +++ b/actionpack/test/controller/cgi_test.rb @@ -43,6 +43,8 @@ class CGITest < Test::Unit::TestCase def test_deep_query_string_with_array_of_hashes_with_one_pair assert_equal({'x' => {'y' => [{'z' => '10'}, {'z' => '20'}]}}, CGIMethods.parse_query_parameters('x[y][][z]=10&x[y][][z]=20')) + assert_equal("10", CGIMethods.parse_query_parameters('x[y][][z]=10&x[y][][z]=20')["x"]["y"].first["z"]) + assert_equal("10", CGIMethods.parse_query_parameters('x[y][][z]=10&x[y][][z]=20').with_indifferent_access[:x][:y].first[:z]) end def test_deep_query_string_with_array_of_hashes_with_multiple_pairs |