Rails - 简单形式 - 布尔属性不接受 false/no 单选按钮选择

Rails - simple form - boolean attribute not accepting false/no radio button choice

我正在使用简单的形式(bootstrap)制作一个 rails 应用程序。

我的表格中有这个问题:

<%= f.input :ethics, as: :radio_buttons, label: 'Is an ethics review relevant?' %>

道德属性在我的 table 中是一个布尔值。

表单呈现 yes/no 的单选按钮。

默认显示为否 - 但如果这是我想给出的答案,我就卡住了,因为我无法提交表单。我收到一条错误消息,提示需要回答。

为什么简单形式不承认 false 作为布尔值答案?

日志显示:

Processing by ProjectsController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"", "project"=>{"title"=>"asdfsdf ", "byline"=>"", "description"=>"asdfsdf ", "problem"=>"", "solution"=>"", "remark"=>"",  "ethics"=>"false", 

您可能只是忘记将 ethics 字段添加到控制器中允许的属性列表中。

params.require(:project).permit(..., :ethics)

您还应该在模型中没有 presence 验证。因为 false 是 false 并且将 return false 进行验证。

使用

validates :ethics, inclusion: { in: [ true, false ] }