您好我的观点中有以下代码:
//I write a loop here to display some workflows saying wkf.each do |i|
<% if (i write my condition here) %>
<td style="text-align:left;">
<%= f.check_box :i, {:checked=>true}%>
<%= f.label(i, i)%>
</td></tr>
<% else %>
<td style="text-align:left;">
<%= f.check_box(i)%>
<%= f.label(i, i)%>
</td></tr>
<%end%>
假设有三个工作流程'A','B'和'C'和'C'符合if条件, 那么发送的参数是'A'=&gt; 0,'B'=&gt; 0和'i'=&gt;'1'。 我希望它以'A'=&gt; 0的方式发送为'C'=&gt;'1'。
我知道'i' =>'1'
已发送,因为我写了f.check_box :i, {:checked=>true}
%而不是。{
<%= f.check_box(i)%>
。
请让我知道如何更改此设置,以便在满足if条件并且#{i}
将被发送而不是:i
由于
答案 0 :(得分:7)
f.check_box :i
不等于f.check_box(i)
,区别在于i
是变量,而:i
是一个符号,几乎就像一个字符串。在第一种情况下删除:
。
<%= f.check_box i, {:checked=>true} %>