Rails:通过simple_form中的下拉菜单提交布尔字段

时间:2016-05-21 23:10:47

标签: ruby-on-rails boolean simple-form dropdown

我有一个simple_form,它有一个布尔属性的下拉列表。

<option value="0">None</option>
<option value="1">Yes</option>

这是提交布尔属性的正确方法,还是应该将其作为"true" / "false"提交?

我的模型似乎不接受1true,似乎......

2 个答案:

答案 0 :(得分:1)

使用值true/false应该适用于布尔属性。

所以html就像:

  <option value="false">None</option>
  <option value="true">Yes</option>

或使用rails helper:

= f.select your_attribute_name, [['None', false], ['Yes', true]]

答案 1 :(得分:0)

我建议使用带有简单设置switch javascript syntaxas: :boolean的复选框或单选按钮,这样可以让用户和任何可能最终与您合作的开发人员更加清楚。

至于在下拉列表中使用布尔值,你总是可以在模型中添加一个before_save回调来处理这个属性,它首先将传入的0或1转换为真/假。