aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2009-04-30 16:45:39 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2009-04-30 16:45:39 -0700
commit6ae839bf488504cc2d3523700d5a49db1a89c76d (patch)
treea0b81b6a3b54aef44acb77748360c6bfda889f7c
parente59835bd0934a7458b71b13bf65786c8484905bd (diff)
parentf0b9e2861943d32ca73a53ab5fb6f86d10c89b04 (diff)
downloadrails-6ae839bf488504cc2d3523700d5a49db1a89c76d.tar.gz
rails-6ae839bf488504cc2d3523700d5a49db1a89c76d.tar.bz2
rails-6ae839bf488504cc2d3523700d5a49db1a89c76d.zip
Merge branch 'master' of git@github.com:rails/rails
-rw-r--r--actionpack/lib/action_controller/base/render.rb3
-rw-r--r--actionpack/test/controller/render_test.rb10
2 files changed, 12 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/base/render.rb b/actionpack/lib/action_controller/base/render.rb
index 4286577ec5..cc0d878e01 100644
--- a/actionpack/lib/action_controller/base/render.rb
+++ b/actionpack/lib/action_controller/base/render.rb
@@ -253,7 +253,8 @@ module ActionController
response.content_type ||= Mime::JS
render_for_text(js)
- elsif json = options[:json]
+ elsif options.include?(:json)
+ json = options[:json]
json = ActiveSupport::JSON.encode(json) unless json.respond_to?(:to_str)
json = "#{options[:callback]}(#{json})" unless options[:callback].blank?
response.content_type ||= Mime::JSON
diff --git a/actionpack/test/controller/render_test.rb b/actionpack/test/controller/render_test.rb
index da063710a9..023bf0eeaa 100644
--- a/actionpack/test/controller/render_test.rb
+++ b/actionpack/test/controller/render_test.rb
@@ -194,6 +194,10 @@ class TestController < ActionController::Base
render :inline => "<%= controller_name %>"
end
+ def render_json_nil
+ render :json => nil
+ end
+
def render_json_hello_world
render :json => ActiveSupport::JSON.encode(:hello => 'world')
end
@@ -874,6 +878,12 @@ class RenderTest < ActionController::TestCase
assert_equal "The secret is in the sauce\n", @response.body
end
+ def test_render_json_nil
+ get :render_json_nil
+ assert_equal 'null', @response.body
+ assert_equal 'application/json', @response.content_type
+ end
+
def test_render_json
get :render_json_hello_world
assert_equal '{"hello":"world"}', @response.body