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 主体。如果定义了纤维,我们将返回一个流式主体,它会逐段渲染模板。
请注意,不支持使用流式渲染部分,因此在这种情况下,我们只是将它们包装在一个数组中。
源代码: 显示 | 在 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