我有以下代码
%br
= f.label :active, 'Status'
= f.select :active, ['Active','Inactive']
符号:active是布尔类型var。我怎样才能匹配Active => 1 / True,Inactive => 0 / False,用于数据库添加。
抱歉新手问题,但我无法弄清楚。
答案 0 :(得分:48)
您可以为每个选项提供一对值:第一个将用作标签(<option>
标签的内部文本),第二个将用作value
属性:
= f.select :active, [['Active', true], ['Inactive', false]]
它会呈现如下内容:
<select name="model[active]">
<option value="true">Active</option>
<option value="false">Inactive</option>
</select>
查看select
和options_for_select
的文档。
答案 1 :(得分:3)
如果你正在使用下拉列表,那么早期答案的一小部分。
我需要使用&#34; options_for_select。&#34;此外,&#34;:已选择&#34;存储下次返回表单时的值。
<%= f.select(:active, options_for_select([['Active', true], ['Inactive', false]], {:selected => @symbol.active}),:prompt => "Select") %>