0

1 つの整数値を別の部分形式に渡すタスクがありました。私のコードはこれでした

<div class="fields">
  <p>
    <%= f.label :content, "Student" %><br/>
    <%= f.text_field :content %>
    <%= link_to_remove_fields "remove", f %><br />
  </p>
  <h4>Address</h4>
  <% i = 1 %>
  <% f.fields_for :answers do |builder| %>
    <%= render :partial => 'answer_fields', :locals => {:i => i, :f => builder} %>
    <% i = i + 1 %>
  <% end %>
  <p><%= link_to_add_fields "Add Address", f, :answers %></p>
</div>

しかし、部分的な形式では、次のようなエラーが発生しました

undefined local variable or method `i'

私の部分的な形は

<p class="fields">
  <table>
    <tr>
      <td>
        <%= f.label :content, "Address"+i.to_s %>
      </td>
      <td>
        <%= f.text_field :content %>
      </td>
      <td>
        <%= link_to_remove_fields "remove", f %>
      </td>
    </tr>
  </table>
</p>

i の値を他の部分形式に渡すにはどうすればよいですか?

4

2 に答える 2

0

あなたのコードは正しいです。

   Please try with this..

   <%= render :partial => 'answer_fields', :locals => {:i => i.to_i, :f => builder} %>
于 2012-11-06T04:52:25.123 に答える
0

上記のコードに問題はありません。何か不足している場合に備えて、レールアプリケーションでこれをテストしました。

:i local なしでこのパーシャルを呼び出している別のテンプレートはありませんか?

于 2012-11-06T04:56:19.467 に答える