我的模型中有一个布尔列。说它叫做isType1。
现在在我的表单中,我希望有一个包含两个值的下拉列表(如果布尔值为true,则为type1,如果布尔值为false,则为type2),而不是复选框或单选按钮。
这可能吗?
现在我将它显示为单选按钮:
<%= f.input :isType, :as => :radio, :label => "Type"%>
我更喜欢如果我有一个下拉列表,用户可以选择type1或type2而不将模型更改为字符串而不是布尔值。
感谢。
答案 0 :(得分:16)
这就是我想要的:
<%= f.input :isType,
:as => :select,
:collection => [['Type1',false],['Type2',true]],
:include_blank => false,
:label => "Type" %>
答案 1 :(得分:1)
只需使用select:
<%= f.input :isType, :as => :select, :label => "Type"%>
答案 2 :(得分:0)
当您使用 include_blank: false
时,您必须添加 disabled: []
以允许在选择中不禁用假值。
<%= f.input :isType,
as: :select,
collection: [['Type1',false],['Type2',true]],
include_blank: false,
disabled: [] %>