2016-12-03 42 views
0

我有回路,其中我请的部分为循环的每次迭代:现在如何传递变量从一个模态for循环

<% applications.each do |application| %> 
    <td> 
    <%= render :partial => "layouts/form", :locals => {:@application => application} %> 
    </td> 
<% end %> 

,内部分,我有按下时按钮将显示一个模式:

<button type="button" class="button-custom btn-primary" data-toggle="modal" data-target="#form-modal"> <%= "#{button_text}" %> </button> 
<div id="form-modal" class="modal fade modal-form" role="dialog" tabindex='-1'> 
    <div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-body"> 
     <td> <%= "#{@application.name}" %> </td> 

现在的问题是,总是@application.name指的是第一应用的内for循环的值。它没有得到对应于循环的相应迭代的值。

回答

1

删除@application变量的符号。

<%= render :partial => "layouts/form", :locals => {:application => application} %> 
.... 

<td> <%= application.name %> </td> 

您应该为每个应用程序生成一个唯一的模式ID。

data-target="#form-modal-<%= application.id %>" 

<div id="form-modal-<%= application.id %>" 
+0

这没有办法。 – user1175969

+0

答案已更新。你应该生成一个独特的模式ID。 –

+0

太棒了!这就是赛道。谢谢! – user1175969

相关问题