Rails form_for radio_button“不能为空”

时间:2009-07-24 17:22:43

标签: ruby-on-rails radio-button

我有以下代码:

<% form_for(@libation) do |f| %>
  <%= f.radio_button :carbonated, true  %> <%= f.label :carbonated, "Yes" %>
  <%= f.radio_button :carbonated, false %> <%= f.label :carbonated,  "No" %>
<% end %>

数据库中的carbonated列的类型为tinyint 当上面的内容运行并点击No时,我会收到一个大红框告诉我:

1 error prohibited this libation from being saved
  There were problems with the following fields:
  * Carbonated can't be blank

任何想法?
-thanx

2 个答案:

答案 0 :(得分:15)

我在验证布尔值时遇到了困难,所以我学会了验证你需要做的事情:

validates_inclusion_of :carbonated, :in => [true, false]

答案 1 :(得分:-5)

哈,回答我自己的问题。似乎HTML规范没有正确发送“假”的问题,因此需要一些解决方法。对我来说,在模型文件中我有:

validates_presence_of :carbonated

并简单地删除它修复了此错误消息。我默认为false,可以将其更改为true。错误消息消失。