【问题标题】:Match an option in select form with boolean values将选择表单中的选项与布尔值匹配
【发布时间】:2012-07-10 23:19:10
【问题描述】:

我有以下代码

%br
= f.label :active, 'Status'
= f.select :active, ['Active','Inactive']

Symbol :active 是一个布尔类型的 var。我如何匹配 Active => 1/True 和 Inactive => 0/False 来添加数据库。

对不起,新手问题,但我无法弄清楚。

【问题讨论】:

    标签: ruby-on-rails haml


    【解决方案1】:

    如果您使用的是下拉菜单,则为先前答案的一个小扩展。

    我需要使用“options_for_select”。此外,":selected" 会存储您下次返回表单时的值。

    <%= f.select(:active, options_for_select([['Active', true], ['Inactive', false]], {:selected => @symbol.active}),:prompt => "Select") %>
    

    【讨论】:

      【解决方案2】:

      您可以为每个选项提供一对值:第一个将用作标签(&lt;option&gt; 标记的内部文本),第二个将用作value 属性:

      = f.select :active, [['Active', true], ['Inactive', false]]
      

      它会呈现如下内容:

      <select name="model[active]">
        <option value="true">Active</option>
        <option value="false">Inactive</option>
      </select>
      

      查看selectoptions_for_select 的文档。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-01-11
        • 1970-01-01
        • 2021-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多