aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/base
diff options
context:
space:
mode:
authorPratik Naik <pratiknaik@gmail.com>2009-04-23 14:34:37 +0100
committerPratik Naik <pratiknaik@gmail.com>2009-04-23 14:34:37 +0100
commitae812c0a7bdb876c03752adfaa980ac4e74f2e17 (patch)
tree73eba5b0ddce60a4578fcbf6be581b8f35488273 /actionpack/lib/action_controller/base
parent67f30fd9639409877a57a7ba758cd13496433d69 (diff)
parent3c4c6bd0df598f865f49a983b4c65c415af4bcfc (diff)
downloadrails-ae812c0a7bdb876c03752adfaa980ac4e74f2e17.tar.gz
rails-ae812c0a7bdb876c03752adfaa980ac4e74f2e17.tar.bz2
rails-ae812c0a7bdb876c03752adfaa980ac4e74f2e17.zip
Merge commit 'mainstream/master'
Diffstat (limited to 'actionpack/lib/action_controller/base')
-rw-r--r--actionpack/lib/action_controller/base/layout.rb2
-rw-r--r--actionpack/lib/action_controller/base/render.rb9
2 files changed, 8 insertions, 3 deletions
diff --git a/actionpack/lib/action_controller/base/layout.rb b/actionpack/lib/action_controller/base/layout.rb
index 4fcef6c5d9..1ad5191c73 100644
--- a/actionpack/lib/action_controller/base/layout.rb
+++ b/actionpack/lib/action_controller/base/layout.rb
@@ -182,7 +182,7 @@ module ActionController #:nodoc:
def memoized_find_layout(layout, formats) #:nodoc:
return layout if layout.nil? || layout.respond_to?(:render)
prefix = layout.to_s =~ /layouts\// ? nil : "layouts"
- view_paths.find_by_parts(layout.to_s, formats, prefix)
+ view_paths.find_by_parts(layout.to_s, {:formats => formats}, prefix)
end
def find_layout(*args)
diff --git a/actionpack/lib/action_controller/base/render.rb b/actionpack/lib/action_controller/base/render.rb
index 606df58518..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)
@@ -374,8 +374,13 @@ module ActionController
render_for_file(name.sub(/^\//, ''), [layout, true], options)
end
end
-
+
+ # ==== Arguments
+ # parts<Array[String, Array[Symbol*], String, Boolean]>::
+ # Example: ["show", [:html, :xml], "users", false]
def render_for_parts(parts, layout, options = {})
+ parts[1] = {:formats => parts[1], :locales => [I18n.locale]}
+
tmp = view_paths.find_by_parts(*parts)
layout = _pick_layout(*layout) unless tmp.exempt_from_layout?