什么是:用于在轨道中渲染的本地人?

时间:2012-01-08 16:31:42

标签: ruby-on-rails render

以下是渲染的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.

没有解释当地人的目的是什么?什么是当地人?

感谢。

2 个答案:

答案 0 :(得分:5)

将局部变量传递给局部模板,而不是控制器实例变量。

请参阅Section 3.4.4, Passing Local Variables in the Layouts and Rendering Guide.

答案 1 :(得分:2)

例如。

  1. < %= render :partial => "account" %>

    这意味着已经存在一个名为@account的实例变量用于部分并且您将其传递。

  2. <%= render :partial => "account", :locals => { :account => @buyer } %>

    这意味着您将名为@buyer的本地实例变量传递给“account”partial,而将“account”partial中的变量称为“account”。换句话说,用于:locals的散列{ :account => @buyer }仅用于将局部变量传递给局部变量。您也可以以相同的方式使用关键字。

  3. <%= render :partial => "contract", :as => :agreement

    与:

    相同

    <%= render :partial => "contract", :locals => { :agreement => @contract }