Spec-Zone.ru › Ruby on Rails 6.1

класс 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–2020 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

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