method
render_partial
v2.3.8 -
Show latest stable
- Class:
ActionView::Partials
render_partial(options = {})private
No documentation available.
# File actionpack/lib/action_view/partials.rb, line 176
def render_partial(options = {}) #:nodoc:
local_assigns = options[:locals] || {}
case partial_path = options[:partial]
when String, Symbol, NilClass
if options.has_key?(:collection)
render_partial_collection(options)
else
_pick_partial_template(partial_path).render_partial(self, options[:object], local_assigns)
end
when ActionView::Helpers::FormBuilder
builder_partial_path = partial_path.class.to_s.demodulize.underscore.sub(/_builder$/, '')
local_assigns.merge!(builder_partial_path.to_sym => partial_path)
render_partial(:partial => builder_partial_path, :object => options[:object], :locals => local_assigns)
else
if Array === partial_path ||
(defined?(ActiveRecord) &&
(ActiveRecord::Associations::AssociationCollection === partial_path ||
ActiveRecord::NamedScope::Scope === partial_path))
render_partial_collection(options.except(:partial).merge(:collection => partial_path))
else
object = partial_path
render_partial(
:partial => ActionController::RecordIdentifier.partial_path(object, controller.class.controller_path),
:object => object,
:locals => local_assigns
)
end
end
end