FormTasticのラジオボタンのコレクションのデフォルト値を選択するにはどうすればよいですか?
-
13-10-2019 - |
質問
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が説明するようにコントローラーのモデルにその状態に入れることです。
所属していません StackOverflow