2

こんにちは私は私の見解に次のコードを持っています:

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

3つのワークフロー「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

ありがとう

4

1 に答える 1

7

f.check_box :iはと等しくありません。f.check_box(i)違いは、iが変数であるのに対し、:iは記号であり、ほとんど文字列のようなものです。:最初のケースではを削除します。

<%= f.check_box i, {:checked=>true} %> 
于 2012-08-17T15:00:50.770 に答える