布尔字段的单选按钮,如何做“假”?
我目前正在尝试在Rails 3中插入一些简单的真/假单选按钮,但我找不到一种方法来使单选按钮插入“false”。
我的代码如下:
我已经尝试过:
- 1/0
- “1”/“0”
- 真假
- “真假”
- “是”/“否”
但似乎没有什么比值false更合适。 我的字段设置为
validates_presence_of :accident_free
当点击“错误”按钮时,我总是收到必须填写的消息。 单击true按钮时,它可以正常工作,但不会识别false。
有谁知道如何正确地做到这一点?
提前致谢
阿恩
就是这个:
http://apidock.com/rails/ActiveRecord/Validations/ClassMethods/validates_presence_of
validates_presence_of()validation指定的属性是否为空(由Object#blank定义?)
如果要validation是否存在布尔字段(实际值为true和false),则需要使用
validates_inclusion_of :field_name, :in => [true, false]
这是由于Object#blank的方式? 处理布尔值:
false.blank? # => true
false.blank? # => true
我尝试使用脚手架和"1"
和"0"
示例
<%= f.radio_button :foo, "0" %> <%= f.radio_button :foo, "1" %>
他们工作了。
我最近为此找到了另一个解决方案:
validates_presence_of :accident_free, :if => 'accident_free.nil?'
这里解释