5

我正在 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 提出了一个很好的观点。一些搜索产生了这个有用的提示

4

3 回答 3

8

使用数组中的第三个元素为集合成员设置特定单选输入选项的 HTML 选项,如下所示:

<%= f.input :author, :as => :radio, :collection => [["Test", 'test'], ["Try", "try", {:checked => true}]]
于 2011-11-30T10:12:45.343 回答
6

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

于 2010-12-27T07:57:47.320 回答
6

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

于 2010-12-27T12:03:27.640 回答