aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/render/rendering.rb
diff options
context:
space:
mode:
authorYehuda Katz <wycats@gmail.com>2009-08-07 06:32:17 -0300
committerYehuda Katz <wycats@gmail.com>2009-08-07 06:32:17 -0300
commitd94ba11295c74e5a661a78a93d6d0259ab01fa50 (patch)
treeefa548fc6033a9fe746735ab03dc096808ff025c /actionpack/lib/action_view/render/rendering.rb
parent493d84ce2f1e25081a394fd70ac4e23b6a2be682 (diff)
downloadrails-d94ba11295c74e5a661a78a93d6d0259ab01fa50.tar.gz
rails-d94ba11295c74e5a661a78a93d6d0259ab01fa50.tar.bz2
rails-d94ba11295c74e5a661a78a93d6d0259ab01fa50.zip
Continue reworking the partial path.
* TODO: Review ActionController calling render_template for certain partials. Might we be able to save logic by always delegating to AV's render_partial?
Diffstat (limited to 'actionpack/lib/action_view/render/rendering.rb')
-rw-r--r--actionpack/lib/action_view/render/rendering.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/actionpack/lib/action_view/render/rendering.rb b/actionpack/lib/action_view/render/rendering.rb
index a721ade4e1..39b8608c68 100644
--- a/actionpack/lib/action_view/render/rendering.rb
+++ b/actionpack/lib/action_view/render/rendering.rb
@@ -13,12 +13,15 @@ module ActionView
def render(options = {}, locals = {}, &block) #:nodoc:
case options
when String, NilClass
- _render_partial_unknown_type(:partial => options, :locals => locals || {})
+ _render_partial(:partial => options, :locals => locals || {})
when Hash
layout = options[:layout]
- if options.key?(:partial) || block_given?
- return _render_partial(layout, options, &block)
+ if block_given?
+ return concat(_render_partial(options.merge(:partial => layout), &block))
+ elsif options.key?(:partial)
+ layout = _pick_partial_template(layout) if layout
+ return _render_content(_render_partial(options), layout, options[:locals])
end
layout = find_by_parts(layout, {:formats => formats}) if layout