f.check_box checked => true对于rails上的ruby

use*_*116 2 ruby ruby-on-rails ruby-on-rails-3

嗨,我的观点有以下代码:

//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%>
Run Code Online (Sandbox Code Playgroud)

假设有三个工作流'A','B'和'C'和'C'符合if条件,那么发送的参数是'A'=> 0,'B'=> 0和'i'= > '1'.我希望它以'A'=> 0的方式发送为'C'=>'1'.

我知道' i' =>'1'是因为我写了f.check_box :i, {:checked=>true}%而不是 <%= f.check_box(i)%>.

请让我知道如何更改此项,以便在满足if条件时默认选中复选框,并且#{i}将发送而不是:i

谢谢

Mat*_*tzi 7

f.check_box :i不等于f.check_box(i),所不同的是,i是一个变量,而:i是一个符号,它是几乎像一个字符串.:在第一种情况下删除.

<%= f.check_box i, {:checked=>true} %> 
Run Code Online (Sandbox Code Playgroud)