Spec-Zone.ru › Ruby on Rails 5.0

класс ActionView::Renderer

Родитель:
Объект

Это основная точка входа для отрисовки. Она в основном делегирует работу другим объектам, таким как TemplateRenderer и PartialRenderer, которые фактически и выводят шаблон.

Объект Renderer будет анализировать опции из метода render или render_body и выводить частичный шаблон или шаблон в зависимости от опций. Объекты TemplateRenderer и PartialRenderer являются обёртками, которые выполняют всю необходимую настройку и логику для отрисовки представления, и новый объект создаётся каждый раз, когда вызывается render.

Атрибуты

lookup_context[RW]

Публичные методы класса

new(lookup_context) Показать исходный код
# File actionview/lib/action_view/renderer/renderer.rb, line 14
def initialize(lookup_context)
  @lookup_context = lookup_context
end

Публичные методы экземпляра

render(context, options) Показать исходный код
# 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.

render_body(context, options) Показать исходный код
# 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API