2013-10-25 6 views
6

ブール値チェックボックスのデフォルトをtrueにするにはどうすればよいですか?Rails単純フォームチェックボックスのデフォルトはtrue

は論理フィールドです。助けのための

<%= f.input :assign_client, :label => 'Charge Client?', :true %> 
<%= f.input :assign_client, :label => 'Charge Client?', :value => :true %> 
<%= f.input :assign_client, :label => 'Charge Client?', :value => 1 %> 

ありがとう:

は、私はこれらを試してみました!

+0

シンプル 'f.input:assign_client、:ラベル=> 'チャージクライアント?'、:値=> true'をそれを行う必要があります(パラメータ[:assign_client]の値を渡すにはチェックボックスをチェックしなければならないことに注意してください) – MrYoshiji

+0

MrYoshoshi - 助けてくれてありがとう!あなたが言ったことを入力した場合、フォームが表示されているときにチェックボックスはチェックされません。私は、あなたが括弧であなたのコメントによって何を意味するのか分かりません。 – Reddirt

答えて

11

は、私はあなたがinput_htmlを追加すべきだと思う:

<%= f.input :assign_client, :label => 'Charge Client?', :input_html => { :checked => true } 

proof

+1

これは私が探していた効果です。ありがとうございました! – Reddirt

+0

フィールドがattr_accessorの場合、<%= f.input:assign_client、:label => 'Charge Client?'をブール値として、input_html => {:checked => true}%> –

+0

しかし、フォームにエラーがあった場合には値をあらかじめ計算しておく必要はありません。 – vs4vijay

3

あなたの次の1つはうまく動作します。:を削除してください。記号ではなくブール値です。

<%= f.input :assign_client, :label => 'Charge Client?', :value => true %> 
関連する問題