Action View Renderer¶ ↑
这是渲染的主要入口点。它基本上委托给其他对象,如 TemplateRenderer 和 PartialRenderer,它们实际上渲染模板。
该 Renderer 将解析 render 或 render_body 方法中的选项,并根据选项渲染部分视图或模板。TemplateRenderer 和 PartialRenderer 对象是包装器,它们执行渲染视图所需的所有设置和逻辑,并且每次调用 render 时都会创建一个新对象。
方法
- N
- R
Attributes
| [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 body。如果定义了 fibers,我们将返回一个分块渲染模板的流式 body。
请注意,不支持流式渲染部分视图,因此在这种情况下,我们将其包装在一个数组中。
来源: 显示 | 在 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