以下是渲染的API定义:
render(options = {}, locals = {}, &block)
Returns the result of a render that’s dictated by the options hash. The primary options are:
:partial - See ActionView::Partials.
:file - Renders an explicit template file (this used to be the old default), add :locals to pass in those.
:inline - Renders an inline template similar to how it’s done in the controller.
:text - Renders the text passed in out.
没有解释当地人的目的是什么?什么是当地人?
感谢。
答案 0 :(得分:5)
将局部变量传递给局部模板,而不是控制器实例变量。
请参阅Section 3.4.4, Passing Local Variables in the Layouts and Rendering Guide.
答案 1 :(得分:2)
例如。
< %= render :partial => "account" %>
这意味着已经存在一个名为@account的实例变量用于部分并且您将其传递。
<%= render :partial => "account", :locals => { :account => @buyer } %>
这意味着您将名为@buyer的本地实例变量传递给“account”partial,而将“account”partial中的变量称为“account”。换句话说,用于:locals的散列{ :account => @buyer }
仅用于将局部变量传递给局部变量。您也可以以相同的方式使用关键字。
<%= render :partial => "contract", :as => :agreement
与:
相同 <%= render :partial => "contract", :locals => { :agreement => @contract }