Mel*_*Mel 2 forms ruby-on-rails simple-form
我正在使用简单的形式(带引导程序)制作一个 rails 应用程序。
我的表格中有这个问题:
<%= f.input :ethics, as: :radio_buttons, label: 'Is an ethics review relevant?' %>
Run Code Online (Sandbox Code Playgroud)
道德属性是我表中的一个布尔值。
该表单呈现为是/否的单选按钮。
默认显示为否 - 但如果这是我想给出的答案,我会被卡住,因为我无法提交表单。我收到一个错误,提示需要一个答案。
为什么简单形式不承认 false 作为布尔答案?
日志显示:
Processing by ProjectsController#create as HTML
Parameters: {"utf8"=>"?", "authenticity_token"=>"", "project"=>{"title"=>"asdfsdf ", "byline"=>"", "description"=>"asdfsdf ", "problem"=>"", "solution"=>"", "remark"=>"", "ethics"=>"false",
Run Code Online (Sandbox Code Playgroud)
您可能只是忘记将该ethics
字段添加到控制器中允许的属性列表中。
params.require(:project).permit(..., :ethics)
Run Code Online (Sandbox Code Playgroud)
您也不应该presence
在模型中进行验证。因为false
是假的,将返回假进行验证。
用
validates :ethics, inclusion: { in: [ true, false ] }
Run Code Online (Sandbox Code Playgroud)