diff options
author | Joshua Peek <josh@joshpeek.com> | 2008-10-30 15:25:36 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2008-10-30 15:26:29 -0500 |
commit | 2092687bcb35a3d30e1d05d3f5f461d8f4e8f9b7 (patch) | |
tree | 1fe004d07b25d336492f0583fc5c3a4241c0a61a /actionpack | |
parent | 7857e42103ca1ab9e8d7f363527ddb2af3e8bd65 (diff) | |
download | rails-2092687bcb35a3d30e1d05d3f5f461d8f4e8f9b7.tar.gz rails-2092687bcb35a3d30e1d05d3f5f461d8f4e8f9b7.tar.bz2 rails-2092687bcb35a3d30e1d05d3f5f461d8f4e8f9b7.zip |
Ensure content type gets reset after render_to_string [#1182 state:resolved]
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_controller/base.rb | 1 | ||||
-rw-r--r-- | actionpack/test/controller/render_test.rb | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index e9429d3bb2..e73fc32c59 100644 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -933,6 +933,7 @@ module ActionController #:nodoc: def render_to_string(options = nil, &block) #:doc: render(options, &block) ensure + response.content_type = nil erase_render_results reset_variables_added_to_assigns end diff --git a/actionpack/test/controller/render_test.rb b/actionpack/test/controller/render_test.rb index db2d5d885b..da9702a634 100644 --- a/actionpack/test/controller/render_test.rb +++ b/actionpack/test/controller/render_test.rb @@ -154,6 +154,10 @@ class TestController < ActionController::Base render :json => {:hello => 'world'}.to_json end + def render_json_with_render_to_string + render :json => {:hello => render_to_string(:partial => 'partial')} + end + def render_custom_code render :text => "hello world", :status => 404 end @@ -772,6 +776,12 @@ class RenderTest < Test::Unit::TestCase assert_equal 'application/json', @response.content_type end + def test_render_json_with_render_to_string + get :render_json_with_render_to_string + assert_equal '{"hello": "partial html"}', @response.body + assert_equal 'application/json', @response.content_type + end + def test_render_custom_code get :render_custom_code assert_response 404 |