mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Start cleaning up partial path
This commit is contained in:
parent
9b506484f1
commit
8534c5bf19
4 changed files with 20 additions and 12 deletions
|
@ -54,7 +54,7 @@ module AbstractController
|
|||
# :api: plugin
|
||||
def render_to_body(options = {})
|
||||
# TODO: Refactor so we can just use the normal template logic for this
|
||||
if options[:_partial_object]
|
||||
if options.key?(:_partial_object)
|
||||
view_context.render_partial(options)
|
||||
else
|
||||
_determine_template(options)
|
||||
|
@ -77,7 +77,7 @@ module AbstractController
|
|||
# _layout<ActionView::Template>:: The layout to wrap the template in (optional)
|
||||
# _partial<TrueClass, FalseClass>:: Whether or not the template to be rendered is a partial
|
||||
def _render_template(options)
|
||||
view_context.render_template(options[:_template], options[:_layout], options, options[:_partial])
|
||||
view_context.render_template(options)
|
||||
end
|
||||
|
||||
# The list of view paths for this controller. See ActionView::ViewPathSet for
|
||||
|
|
|
@ -57,7 +57,7 @@ module ActionController
|
|||
when true
|
||||
options[:_prefix] = _prefix
|
||||
when String
|
||||
options[:_prefix] = _prefix unless partial.index('/')
|
||||
options[:_prefix] = _prefix unless partial.include?(?/)
|
||||
options[:_template_name] = partial
|
||||
else
|
||||
options[:_partial_object] = true
|
||||
|
|
|
@ -183,12 +183,12 @@ module ActionView
|
|||
end
|
||||
end
|
||||
|
||||
def render_partial(*args)
|
||||
def render_partial(options)
|
||||
@assigns_added = false
|
||||
_render_partial(*args)
|
||||
_render_partial(options)
|
||||
end
|
||||
|
||||
def _render_partial(options = {}) #:nodoc:
|
||||
def _render_partial(options) #:nodoc:
|
||||
options[:locals] ||= {}
|
||||
|
||||
path = partial = options[:partial]
|
||||
|
@ -244,7 +244,9 @@ module ActionView
|
|||
array_like
|
||||
end
|
||||
|
||||
def _render_partial_object(template, options, object = nil)
|
||||
def _render_partial_object(template, options)
|
||||
object = options[:object]
|
||||
|
||||
if options.key?(:collection)
|
||||
_render_partial_collection(options.delete(:collection), options, template)
|
||||
else
|
||||
|
|
|
@ -123,19 +123,25 @@ module ActionView
|
|||
layout ? _render_content_with_layout(text, layout, options[:locals]) : text
|
||||
end
|
||||
|
||||
def render_template(*args)
|
||||
# This is the API to render a ViewContext's template from a controller.
|
||||
#
|
||||
# Internal Options:
|
||||
# _template:: The Template object to render
|
||||
# _layout:: The layout, if any, to wrap the Template in
|
||||
# _partial:: true if the template is a partial
|
||||
def render_template(options)
|
||||
@assigns_added = nil
|
||||
_render_template_with_layout(*args)
|
||||
template, layout, partial = options.values_at(:_template, :_layout, :_partial)
|
||||
_render_template_with_layout(template, layout, options, partial)
|
||||
end
|
||||
|
||||
def _render_template_with_layout(template, layout = nil, options = {}, partial = false)
|
||||
def _render_template_with_layout(template, layout = nil, options = {}, partial = nil)
|
||||
logger && logger.info("Rendering #{template.identifier}#{' (#{options[:status]})' if options[:status]}")
|
||||
|
||||
locals = options[:locals] || {}
|
||||
|
||||
content = if partial
|
||||
object = partial unless partial == true
|
||||
_render_partial_object(template, options, object)
|
||||
_render_partial_object(template, options)
|
||||
else
|
||||
_render_template(template, locals)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue