Rails 表单在提交时传递 false 作为布尔值的默认值

Rails form passing false as default value for boolean while submitting

我想提交 false 作为 rails 表单的默认值。

但是在提交之后我得到的默认值是 null。

代码如下

<%= f.check_box :known, {}, "false" %>

对于 table 名称 notes

,列名称是 known

谁能帮我解决这个问题?

正如 @Jon 所建议的那样,如果您 总是 想要 false作为 default 值,您应该将其设置为数据库中的默认值。下面的迁移代码就是这样做的。

change_column :notes, :known, :boolean, default: false

如果你想给用户一个选项将其更改为 true,然后指定 check_box下面。

<%= f.check_box :known, {}, "true", "false" %>