我一直在谷歌上搜索这个,找不到合适的路径。我正在使用一个名为local_assigns的方法的Rails应用程序。这似乎是Rails或gem中的一些内容,并不是我的应用程序特有的,但它用于在不同的上下文中呈现部分内容,例如:
<% if local_assigns[:custom_name] %>
<li><%= custom_name %></li>
<% else %>
或者也是这样:
<%= render "discussions/complementary/#{local_assigns[:action] || params[:action]}" %>
这是Rails方法吗?我在哪里可以找到更多关于此的文档?
答案 0 :(得分:68)
local_assigns
是一个Rails视图辅助方法,您可以检查该部分是否已提供局部变量。
在这里,您使用某些值呈现部分,headline
和person
将可通过预定义值进行访问。
<%= render "shared/header", { :headline => "Welcome", :person => person } %>
在shared/header
视图中:
Headline: <%= headline %>
First name: <%= person.first_name %>
以下是检查这些变量是否传入的方法:
<% if local_assigns.has_key? :headline %>
Headline: <%= headline %>
<% end %>
请查看此文档,详细了解Passing local variables to sub templates。
部分