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 ] }
我正在使用简单的形式(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 ] }