1

我的模型中有一个布尔列。假设它被称为 isType1。

现在在我的表单中,我想要一个包含两个值的下拉列表(如果布尔值为 true,则为 type1,如果布尔值为 false,则为 type2)而不是复选框或单选按钮。

那可能吗?

现在我将它显示为单选按钮:

<%= f.input :isType,  :as => :radio, :label => "Type"%>

如果我有一个下拉列表,用户可以选择 type1 或 type2 而不将模型更改为字符串而不是布尔值,我会更喜欢。

谢谢。

4

3 回答 3

16

这就是我一直在寻找的:

<%= f.input :isType, 
            :as => :select, 
            :collection => [['Type1',false],['Type2',true]], 
            :include_blank => false, 
            :label => "Type" %>
于 2013-08-11T11:51:48.607 回答
1

只需为此使用选择:

<%= f.input :isType, :as => :select, :label => "Type"%>

于 2013-08-10T12:15:19.327 回答
0

当您使用include_blank: false时,您必须添加disabled: []以允许在选择中不禁用虚假值。

<%= f.input :isType, 
            as: :select, 
            collection: [['Type1',false],['Type2',true]], 
            include_blank: false, 
            disabled: [] %>
于 2021-04-30T05:33:33.063 回答