aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2007-10-22 21:10:56 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2007-10-22 21:10:56 +0000
commit79670fb9753693993f5c2f42e5b3d39e51ab4f43 (patch)
tree8e8fb91ed81115b5317da6f38b257c0760a60403
parentf777ff72f931983946cbccbf2c64270922e93d84 (diff)
downloadrails-79670fb9753693993f5c2f42e5b3d39e51ab4f43.tar.gz
rails-79670fb9753693993f5c2f42e5b3d39e51ab4f43.tar.bz2
rails-79670fb9753693993f5c2f42e5b3d39e51ab4f43.zip
request.parameters doesn't overwrite request.request_parameters. Closes #9949 [nullstyle]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7992 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rwxr-xr-xactionpack/lib/action_controller/request.rb2
-rw-r--r--actionpack/test/controller/request_test.rb9
-rw-r--r--actionpack/test/controller/test_test.rb4
3 files changed, 12 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/request.rb b/actionpack/lib/action_controller/request.rb
index 1fa6accd01..935e3e08ae 100755
--- a/actionpack/lib/action_controller/request.rb
+++ b/actionpack/lib/action_controller/request.rb
@@ -275,7 +275,7 @@ module ActionController
# Returns both GET and POST parameters in a single hash.
def parameters
- @parameters ||= request_parameters.update(query_parameters).update(path_parameters).with_indifferent_access
+ @parameters ||= request_parameters.merge(query_parameters).update(path_parameters).with_indifferent_access
end
def path_parameters=(parameters) #:nodoc:
diff --git a/actionpack/test/controller/request_test.rb b/actionpack/test/controller/request_test.rb
index 922699e331..1eb1990397 100644
--- a/actionpack/test/controller/request_test.rb
+++ b/actionpack/test/controller/request_test.rb
@@ -355,6 +355,15 @@ class RequestTest < Test::Unit::TestCase
def test_user_agent
assert_not_nil @request.user_agent
end
+
+ def test_parameters
+ @request.instance_eval { @request_parameters = { "foo" => 1 } }
+ @request.instance_eval { @query_parameters = { "bar" => 2 } }
+
+ assert_equal({"foo" => 1, "bar" => 2}, @request.parameters)
+ assert_equal({"foo" => 1}, @request.request_parameters)
+ assert_equal({"bar" => 2}, @request.query_parameters)
+ end
protected
def set_request_method_to(method)
diff --git a/actionpack/test/controller/test_test.rb b/actionpack/test/controller/test_test.rb
index 56c0a90831..305c5b6931 100644
--- a/actionpack/test/controller/test_test.rb
+++ b/actionpack/test/controller/test_test.rb
@@ -108,7 +108,7 @@ XML
def test_raw_post_handling
params = {:page => {:name => 'page name'}, 'some key' => 123}
- get :render_raw_post, params.dup
+ post :render_raw_post, params.dup
assert_equal params.to_query, @response.body
end
@@ -116,7 +116,7 @@ XML
def test_body_stream
params = { :page => { :name => 'page name' }, 'some key' => 123 }
- get :render_body, params.dup
+ post :render_body, params.dup
assert_equal params.to_query, @response.body
end