From 2092687bcb35a3d30e1d05d3f5f461d8f4e8f9b7 Mon Sep 17 00:00:00 2001 From: Joshua Peek Date: Thu, 30 Oct 2008 15:25:36 -0500 Subject: [PATCH] Ensure content type gets reset after render_to_string [#1182 state:resolved] --- actionpack/lib/action_controller/base.rb | 1 + actionpack/test/controller/render_test.rb | 10 ++++++++++ 2 files changed, 11 insertions(+) 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 @@ def render(options = nil, extra_options = {}, &block) #:doc: 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 @@ def render_symbol_json 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 @@ def test_render_symbol_json 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