如何为Formtastic中的单选按钮集合选择默认值?

时间:2010-12-27 07:37:34

标签: html ruby-on-rails formtastic form-generator

我正在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>

这项工作完美无缺!

现在,我想知道如何传递一个将“Great”标记为默认(选定)值的选项。我尝试了以下操作,但我无法让它工作。

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

我也试过传递:selected:checked而不是:default,但唉,它不起作用。

有人知道这样做的方法吗?

谢谢!


编辑: Aditya提出了一个非常好的观点。有些搜索产生了this helpful tip

3 个答案:

答案 0 :(得分:7)

在特定的无线电输入选项上设置HTML选项,并在阵列中为第3个元素设置集合成员,如下所示:

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

答案 1 :(得分:6)

您是否尝试过将模型的:housing属性值设置为默认值?您可以在启动表单之前或在控制器中执行此操作,或者最好的方法是在模型初始化中执行此操作?查看可能不是默认IMHO的最佳位置。

答案 2 :(得分:6)

在视图中不再有选项可以执行此操作,正确的方法是默认使用正确的值初始化模型,或者将模型置于控制器中的状态,如Aditya所述。