Options_for_select无效:boolean的下拉框

Mar*_*rty 1 ruby ruby-on-rails ruby-on-rails-4

我正在尝试在编辑视图中使用以下代码将布尔值包含在下拉框中:

<div class="col-md-8">
  <%= f.select :match, options_for_select([['On', true], ['Off', false]]), class: 'form-control input-md' %>
</div>
Run Code Online (Sandbox Code Playgroud)

但是我遇到了两个问题:

1.它没有显示正确的值.即使用户的价值是false,它仍然显示On.

2.它没有实现样式.检查员显示它按如下方式实现:

<div class="col-md-8">
  <select name="user[match]" id="user_match">
    <option value="true">On</option>
    <option value="false">Off</option>
  </select>
</div>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

小智 5

像这样做:

<%= f.select :match, options_for_select([['On', true], ['Off', false]], selected: your_object.match),{}, {class: 'form-control input-md'} %>
Run Code Online (Sandbox Code Playgroud)