匹配选择形式布尔值的选项(Match an option in select form with b

2019-07-30 08:36发布

我有下面的代码段

%br
= f.label :active, 'Status'
= f.select :active, ['Active','Inactive']

符号:积极是一个boolean类型变种。 我怎样才能匹配活动=> 1 / True,并且未激活=> 0 /假,数据库添加。

很抱歉的新手问题,但我不明白。

Answer 1:

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

= f.select :active, [['Active', true], ['Inactive', false]]

它会呈现这样的:

<select name="model[active]">
  <option value="true">Active</option>
  <option value="false">Inactive</option>
</select>

看一看的文档进行selectoptions_for_select



Answer 2:

早期的答案的小扩展,如果您使用的是下拉。

我需要使用“options_for_select。” 此外,“:选择”保存您返回到形式下一次的值。

<%= f.select(:active, options_for_select([['Active', true], ['Inactive', false]], {:selected => @symbol.active}),:prompt => "Select") %>


文章来源: Match an option in select form with boolean values