Simple_form:如何用布尔值设置f.input?

Simple_form: How to set f.input with with boolean values?

在 DB 中,我有一个 boolean 列,我们称它为 morning

在视图中,这是我显示 select 框菜单的方式:

  = f.input :morning, label: false, required: true, collection: [["Yes", true], ["No", false]], input_html: { class: "..." }

但是,当我发送此表单时,没有任何内容会保存到数据库中。

如果我尝试修改它,像这样:

  = f.input :morning, label: false, required: true, collection: ["Yes", "No"], input_html: { class: "..." }

同样的事情发生了。

将 select 框设置为 true/false 值的正确方法是什么?

您的问题不在于集合中的值,而在于输入类型。

<%= f.input :morning, as: :select, collection: [['Yes',true], ['No',false]], required: true, include_blank: false %>

像这样。只需注意:as: :select