local_assigns如何在Rails中工作?

我一直在search这个,并找不到正确的道路。 我正在使用一个名为local_assigns的方法的Rails应用程序。 这似乎是在Rails或gem中的东西,而不是特定于我的应用程序,但它用于在不同的上下文中呈现部分,如下所示:

<% if local_assigns[:custom_name] %> <li><%= custom_name %></li> <% else %> 

或者也是这样的:

 <%= render "discussions/complementary/#{local_assigns[:action] || params[:action]}" %> 

这是Rails方法吗? 我在哪里可以find更多关于此的文档?

local_assigns是一个Rails视图帮助器方法,您可以检查这个部分是否已经提供了局部variables。

在这里,您渲染一个具有一些值的部分, headlineperson将变得可用预定义的值访问。

 <%= render "shared/header", { :headline => "Welcome", :person => person } %> 

shared/header视图中:

 Headline: <%= headline %> First name: <%= person.first_name %> 

下面是你如何检查这些variables是否已经通过:

 <% if local_assigns.has_key? :headline %> Headline: <%= headline %> <% end %> 

查看这个文档以获得更多关于将局部variables传递给子模板的章节。