将变量传递给部分(轨道4)

时间:2014-06-16 03:35:14

标签: ruby-on-rails ruby-on-rails-4

我有一个部分_album.html.erb,它有一个变量“专辑” 我有一个@albums系列。对于集合中的每个我想呈现部分。但我不使用“集合:”选项,因为我想把每个人放在不同的位置。这是我的代码:

<% @albums.each do | f | %>
     ..........
    <td>
           <%= render partial: "album", locals: {"album" f} %>
      .........
<% end %>

此代码返回SyntaxError。我不知道为什么会这样。

3 个答案:

答案 0 :(得分:5)

"album"f之间没有任何分隔线,因此请尝试locals: {album: f}:album => f

答案 1 :(得分:1)

<强>当地人

zishe正确答案外,您还需要查看如何设置partial local variables的语法:

<%= render partial: "form", locals: {zone: @zone} %>

Rails基本上发送hashkey: value对,这意味着 的语法是这样的:

locals: {key: value, "key" => value}

你必须记住Rails基本上只是一个文件集合&amp;类,这意味着你所做的任何事情都必须符合Ruby允许你分配的方式。传递数据,hash是主要方式之一

答案 2 :(得分:1)

我遇到了这个问题,我尝试使用locals: {..},但它没有用。

你可以试试这个对我有用的东西:

 <%= render partial: "form", zone: @zone %>