61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
# File 'actionview/lib/action_view/renderer/renderer.rb', line 61
def render_partial_to_object(context, options, &block)
partial = options[:partial]
if String === partial
collection = collection_from_options(options)
if collection
renderer = CollectionRenderer.new(@lookup_context, options)
renderer.render_collection_with_partial(collection, partial, context, block)
else
if options.key?(:object)
renderer = ObjectRenderer.new(@lookup_context, options)
renderer.render_object_with_partial(options[:object], partial, context, block)
else
renderer = PartialRenderer.new(@lookup_context, options)
renderer.render(partial, context, block)
end
end
else
collection = collection_from_object(partial) || collection_from_options(options)
if collection
renderer = CollectionRenderer.new(@lookup_context, options)
renderer.render_collection_derive_partial(collection, context, block)
else
renderer = ObjectRenderer.new(@lookup_context, options)
renderer.render_object_derive_partial(partial, context, block)
end
end
end
|