2011-08-03 4 views
0

私は、チェックボックスのデフォルト値をtrueに設定しようとしています。これは、デフォルトではcheck_boxヘルパーをRailsで使用しています。私は、これはと本当簡単であるように思わRails api documentationレール上でチェックボックスのデフォルトをtrueに設定する

で解決策を見つけることができませんでしたが、私はモデルオブジェクトのためにそれを必要とする上記のヘルパーを使用する必要があります。

モデルオブジェクトにcheck_box_tagを使用することはできますか?ドキュメンテーションからはそうは思われません。

これをRailsに直接実装できない場合は、javascript、jqueryの回避策を提案してください。

私はRails 2.0.2プロジェクト固有の目的のためです。

はどうもありがとうございまし

この上の任意のガイダンスは本当に便利だろう..チェックボックスがお使いのモデルの分野の一つに結ばれているので

答えて

4

は、あなたがする必要があるすべての値に設定されていますお使いのモデルで真:あなたのコントローラで

:あなたのビューで

def new 
    @model = Model.new 
    @model.my_value = true 
end 

私は助けを借りて、自分の要件に合わせて、効率的な回避策を見つけることができたとして
<%= f.check_box :my_value %> 
+0

ありがとう、ディラン、my_valueは真偽値でなければなりません..? – boddhisattva

+0

通常、ブール値でcheck_boxを使用しますが、整数とすることもできます。あなたの答えは –

+0

+1です。ありがとうございます。 – boddhisattva

0

私はこれが1で同じを使用することができます方法です

.. check_box_tagを利用した: -

<%=check_box_tag "model[local_variable]",1,true %> 

このおそらくより汎用的なcheck_box_tagが表示されます。

+0

ここで唯一適切な解決策はwhil @Dylan Markowが提案した – fl00r

+0

どうしてそう思うのですか?この代替案に何が間違っているのか教えてください。 – boddhisattva

+0

主な考え方は、チェックボックスがモデルデータに依存することです。あなたの場合、それは本当の属性が偽であっても常にチェックされます。実際のところ、私は@ Dylanの答えをこのように改善するでしょう:マイグレーションでデフォルトで 'my_value'をtrueに設定すると、新しいオブジェクトはすべてTrue属性になりますが、既存のものはそのまま返されます。 – fl00r

関連する問題