diff options
-rw-r--r-- | actionpack/lib/action_controller/metal/renderers.rb | 5 | ||||
-rw-r--r-- | actionpack/test/controller/render_json_test.rb | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller/metal/renderers.rb b/actionpack/lib/action_controller/metal/renderers.rb index 6e9ce450ac..d69816915b 100644 --- a/actionpack/lib/action_controller/metal/renderers.rb +++ b/actionpack/lib/action_controller/metal/renderers.rb @@ -91,7 +91,10 @@ module ActionController add :json do |json, options| json = json.to_json(options) unless json.kind_of?(String) - json = "#{options[:callback]}(#{json})" unless options[:callback].blank? + unless options[:callback].blank? + json = "#{options[:callback]}(#{json})" + self.content_type ||= Mime::JS + end self.content_type ||= Mime::JSON json end diff --git a/actionpack/test/controller/render_json_test.rb b/actionpack/test/controller/render_json_test.rb index 75fed8e933..3be70ab84f 100644 --- a/actionpack/test/controller/render_json_test.rb +++ b/actionpack/test/controller/render_json_test.rb @@ -102,7 +102,7 @@ class RenderJsonTest < ActionController::TestCase def test_render_json_with_callback get :render_json_hello_world_with_callback assert_equal 'alert({"hello":"world"})', @response.body - assert_equal 'application/json', @response.content_type + assert_equal 'application/javascript', @response.content_type end def test_render_json_with_custom_content_type |