将选择形式的选项与布尔值匹配

vla*_*iov 19 haml ruby-on-rails

我有以下代码

%br
= f.label :active, 'Status'
= f.select :active, ['Active','Inactive']
Run Code Online (Sandbox Code Playgroud)

符号:active是布尔类型var.如何为数据库添加匹配Active => 1/True和Inactive => 0/False.

对不起新手问题,但我无法弄清楚.

KL-*_*L-7 49

您可以为每个选项提供一对值:第一个将用作标签(标签的内部文本<option>),第二个将用作value属性:

= f.select :active, [['Active', true], ['Inactive', false]]
Run Code Online (Sandbox Code Playgroud)

它会呈现如下:

<select name="model[active]">
  <option value="true">Active</option>
  <option value="false">Inactive</option>
</select>
Run Code Online (Sandbox Code Playgroud)

看一看在文档的selectoptions_for_select.