2012-11-06 27 views
0

我有一个任务将一个整数值传递给另一个部分窗体。我的代码是这样的要通过轨道上的红宝石渲染部分形式的整数值

<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> 

如何传递我的价值,另一部分形成?

+0

将下面的i初始化行放下1行,看看。 – uday

回答

0

你的代码是正确的。

Please try with this.. 

    <%= render :partial => 'answer_fields', :locals => {:i => i.to_i, :f => builder} %> 
+0

我使用rails 2.3.5 – Niths

+0

也是2.3.5也是相同的语法。请将<%raise params.inspect%>放在部分文件的顶部。并检查参数是什么来的? – vijikumar

0

我看不出上面的代码有什么问题。我甚至在我的rails应用程序中测试了这个,以防我失去了一些东西。

你没有另一个模板,调用这个部分没有:我当地是吗?

+0

是的。我有另一个部分形式_question_fields – Niths