我有以下一段代码
%br
= f.label :active, 'Status'
= f.select :active, ['Active','Inactive']
符号 :active 是一个布尔类型的 var。我如何匹配 Active => 1/True 和 Inactive => 0/False 来添加数据库。
对不起新手问题,但我无法弄清楚。
我有以下一段代码
%br
= f.label :active, 'Status'
= f.select :active, ['Active','Inactive']
符号 :active 是一个布尔类型的 var。我如何匹配 Active => 1/True 和 Inactive => 0/False 来添加数据库。
对不起新手问题,但我无法弄清楚。
您可以为每个选项提供一对值:第一个将用作标签(标签的内部文本<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
。
如果您使用的是下拉菜单,则为早期答案的一个小扩展。
我需要使用“options_for_select”。此外,":selected" 存储下次返回表单时的值。
<%= f.select(:active, options_for_select([['Active', true], ['Inactive', false]], {:selected => @symbol.active}),:prompt => "Select") %>