FormTasticのラジオボタンのコレクションのデフォルト値を選択するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4537254

質問

Rails3とFormTasticでフォームを構築しています。私は次の分野を持っています:

<%= f.input :housing, :as => :radio, :collection => {"Awesome" => "one", "Great" => "two", "Nice" => "three"} %>

次のようなHTMLを生成します。

<input id="post_one" name="post" type="radio" value="one" />Awesome</label>
<input id="post_two" name="post" type="radio" value="two" />Great</label>
<input id="post_three" name="post" type="radio" value="three" /> Nice</label>

それは完璧に機能します!

今、私は「素晴らしい」をデフォルトの(選択された)値としてマークするオプションをどのように渡すことができるかを知りたいです。私は次のことをしようとしましたが、それを動作させることはできません。

<%= f.input :housing, :as => :radio, :collection => {"Awesome" => "one", "Great" => "two", "Nice" => "three"}, :default => "one" %>

私も渡してみました :selected:checked それ以外の :default しかし、悲しいかな、それはうまくいきません。

誰かがこれを行う方法を知っていますか?

ありがとう!


編集: Adityaは非常に良い点をもたらします。いくつかの検索が得られました この役立つヒント.

役に立ちましたか?

解決

モデルの住宅属性の値をデフォルト値に設定してみましたか?フォームを開始する直前またはコントローラーでそれを行うことができますか、それとも最良の方法は、モデルの初期化でそれを行うことです。ビューは、デフォルトの私見に最適な場所ではないかもしれません。

他のヒント

次のように、コレクションメンバーの配列に3番目の要素を使用して、特定の無線入力オプションにHTMLオプションを設定します。

<%= f.input :author, :as => :radio, :collection => [["Test", 'test'], ["Try", "try", {:disabled => true}]]

ビューでこれを行うオプションはもうありません。正しい方法は、デフォルトで正しい値でモデルを初期化するか、Adityaが説明するようにコントローラーのモデルにその状態に入れることです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top