如何将locals传递给使用to_partial_path渲染的部分

时间:2013-07-12 20:24:53

标签: ruby-on-rails ruby partials

我一直在寻找here,并且想知道你是否可以在缩写符号中添加局部变换来渲染局部集合?
既不:

<% for contact in @contacts %>
  <%= render contact, locals: {my_bool: true, project: @project} %>
<% end %>

也不:

<%= render @contacts, locals: {my_bool: true, project: @project} %>

似乎有用,有没有办法让这个工作,或者这些部分不接受这样的其他本地人的参数?

2 个答案:

答案 0 :(得分:3)

正确的语法是,

 <%= render @contacts, my_bool: true, project: @project %>

答案 1 :(得分:1)

我现在无法测试它,但我认为您需要指定您为当地人提供部分接受:

<%= render partial: 'contact', locals: {my_bool: true, project: @project} %>

顺便说一下,作为实例变量的@project可以从partial访问,所以在这里使用它是多余的。 <{1}}可作为常规变量访问,而不是实例变量,请记住这一点。