我正在用简单的形式(自举)一个Rails应用程序。
我在我的形式这个问题:
<%= f.input :ethics, as: :radio_buttons, label: 'Is an ethics review relevant?' %>
伦理属性是我表一个布尔值。
的形式呈现与是/否单选按钮。
默认显示为没有 - 但如果是这样的答案,我想给我坚持,因为我不能提交表单。我得到的,说需要一个答案错误。
为什么不能简单的形式承认错误作为一个布尔答案?
日志显示:
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的验证。
采用
validates :ethics, inclusion: { in: [ true, false ] }