класс ActionView::Renderer
Это основная точка входа для рендеринга. В основном она делегирует работу другим объектам, таким как TemplateRenderer и PartialRenderer, которые фактически рендерят шаблон.
Метод Renderer будет анализировать параметры из метода render или render_body и рендерить частичный шаблон или шаблон в зависимости от параметров. Объекты TemplateRenderer и PartialRenderer являются обёртками, выполняющими всю необходимую настройку и логику для рендеринга представления, и каждый раз, когда вызывается render, создаётся новый объект.
Атрибуты
Открытые методы класса
# File actionview/lib/action_view/renderer/renderer.rb, line 16 def initialize(lookup_context) @lookup_context = lookup_context end
Открытые методы экземпляра
# File actionview/lib/action_view/renderer/renderer.rb, line 21 def render(context, options) render_to_object(context, options).body end
Основная точка входа для рендеринга, используемая в Action View и Action Controller.
# File actionview/lib/action_view/renderer/renderer.rb, line 38
def render_body(context, options)
if options.key?(:partial)
[render_partial(context, options)]
else
StreamingTemplateRenderer.new(@lookup_context).render(context, options)
end
end Рендеринг, но возвращает корректное тело Rack. Если определены волокна, возвращается потоковое тело, которое рендерит шаблон по частям.
Обратите внимание, что частичные шаблоны не поддерживаются для рендеринга потоковым методом, поэтому в таких случаях они просто оборачиваются в массив.
© 2004–2019 David Heinemeier Hansson
Licensed under the MIT License.