Action View 渲染器
这是渲染的主要入口点。它基本上委托给其他对象,例如 TemplateRenderer 和 PartialRenderer
,这些对象实际上渲染了模板。
Renderer
将从 render
或 render_body
方法解析选项,并根据选项渲染部分或模板。TemplateRenderer
和 PartialRenderer
对象是包装器,它们执行渲染视图所需的所有设置和逻辑,每次调用 render
时都会创建一个新对象。
方法
- N
- R
属性
[RW] | lookup_context |
类公有方法
new(lookup_context) 链接
源代码: 显示 | 在 GitHub 上
# File actionview/lib/action_view/renderer/renderer.rb, line 18 def initialize(lookup_context) @lookup_context = lookup_context end
实例公有方法
render(context, options) 链接
Action View 和 Action Controller 共享的主要渲染入口点。
源代码: 显示 | 在 GitHub 上
# File actionview/lib/action_view/renderer/renderer.rb, line 23 def render(context, options) render_to_object(context, options).body end
render_body(context, options) 链接
渲染,但返回一个有效的 Rack 主体。如果定义了 fibers,我们将返回一个流式主体,该主体逐块渲染模板。
请注意,不支持使用流式渲染部分,因此在这种情况下,我们只需将它们包装在一个数组中。
源代码: 显示 | 在 GitHub 上
# File actionview/lib/action_view/renderer/renderer.rb, line 40 def render_body(context, options) if options.key?(:partial) [render_partial(context, options)] else StreamingTemplateRenderer.new(@lookup_context).render(context, options) end end