diff options
author | rick <technoweenie@gmail.com> | 2009-04-23 00:08:40 -0700 |
---|---|---|
committer | rick <technoweenie@gmail.com> | 2009-04-23 00:08:40 -0700 |
commit | 3c4c6bd0df598f865f49a983b4c65c415af4bcfc (patch) | |
tree | 0984e610d94f22dfa70e95259f1a81e57e7f9db7 /actionpack/lib/action_controller/base | |
parent | bab2bfa69220ca1b6c7b56dccc79cf8e41245306 (diff) | |
download | rails-3c4c6bd0df598f865f49a983b4c65c415af4bcfc.tar.gz rails-3c4c6bd0df598f865f49a983b4c65c415af4bcfc.tar.bz2 rails-3c4c6bd0df598f865f49a983b4c65c415af4bcfc.zip |
* Add pluggable JSON backends with support for the JSON gem. [rick]
Example: ActiveSupport::JSON.backend = "JSONGem"
All internal Rails JSON encoding is now handled by ActiveSupport::JSON.encode(). Use of #to_json is not recommended, as it may clash with other libraries that overwrite it. However, you can recover Rails specific functionality
if you really want to use #to_json.
gem 'json'
ActiveSupport::JSON.backend = "JSONGem"
class ActiveRecord::Base
alias to_json rails_to_json
end
Diffstat (limited to 'actionpack/lib/action_controller/base')
-rw-r--r-- | actionpack/lib/action_controller/base/render.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/base/render.rb b/actionpack/lib/action_controller/base/render.rb index 52934076e6..33695cd78e 100644 --- a/actionpack/lib/action_controller/base/render.rb +++ b/actionpack/lib/action_controller/base/render.rb @@ -254,7 +254,7 @@ module ActionController render_for_text(js) elsif json = options[:json] - json = json.to_json unless json.is_a?(String) + json = ActiveSupport::JSON.encode(json) unless json.is_a?(String) json = "#{options[:callback]}(#{json})" unless options[:callback].blank? response.content_type ||= Mime::JSON render_for_text(json) |