我需要为某些渲染部分设置一些选项,然后在这些部分中检查它们。如何实现如下所示?
视图/物品/ show.html.erb
<%= render partial: "shared/info", locals: { from_apples: true } %>
<%= render partial: "shared/info", locals: { from_bananas: true } %>
视图/共享/ _info.html.erb
<% if from_apples %>
<p>Foo</p>
<% elsif from_bananas %>
<p>Bar</p>
<% end %>
答案 0 :(得分:1)
您应该使用local_assigns
:
<% if local_assigns[:from_apples] %>
<p>Foo</p>
<% elsif local_assigns[:from_bananas] %>
<p>Bar</p>
<% end %>
答案 1 :(得分:1)
为苹果创建两个部分,为香蕉创建一个。而不是传递本地人调用那些部分文件。
<%= render partial: "shared/info/apples" %>
<%= render partial: "shared/info/bananas" %>
答案 2 :(得分:1)
为什么不传递数据?
<%= render partial: "shared/info", locals: { message: "foo" } %>
<%= render partial: "shared/info", locals: { message: "bar" } %>
视图/共享/ _info.html.erb
<p><%= message %></p>