класс ActionView::Renderer
Это основная точка входа для отрисовки. Она в основном делегирует работу другим объектам, таким как TemplateRenderer и PartialRenderer, которые фактически и выводят шаблон.
Объект Renderer будет анализировать опции из метода render или render_body и выводить частичный шаблон или шаблон в зависимости от опций. Объекты TemplateRenderer и PartialRenderer являются обёртками, которые выполняют всю необходимую настройку и логику для отрисовки представления, и новый объект создаётся каждый раз, когда вызывается render.
Атрибуты
Публичные методы класса
# File actionview/lib/action_view/renderer/renderer.rb, line 14 def initialize(lookup_context) @lookup_context = lookup_context end
Публичные методы экземпляра
# File actionview/lib/action_view/renderer/renderer.rb, line 19
def render(context, options)
if options.key?(:partial)
render_partial(context, options)
else
render_template(context, options)
end
end Основная точка входа для отрисовки, используемая как Action View, так и Action Controller.
# File actionview/lib/action_view/renderer/renderer.rb, line 32
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–2018 David Heinemeier Hansson
Licensed under the MIT License.