Spec-Zone.ru › Ruby on Rails 6.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 16
def initialize(lookup_context)
  @lookup_context = lookup_context
end

Открытые методы экземпляра

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

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

Spec-Zone.ru

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