为什么rails创建和未定义选择选项?

时间:2013-03-13 16:45:32

标签: ruby-on-rails ruby select angularjs

view.erb

<select ng-model="integration.connector_one">
  <%=options_for_select(connectors, connectors[0])%>
</select>

产地:

<select ng-model="integration.connector_one" class="ng-pristine ng-valid">
  <option value="? undefined:undefined ?"></option>
  <option value="1" selected="selected">Shopify</option>
  <option value="8">Spreadsheet</option>
  <option value="9">Pardot</option>
  <option value="10">Spreadsheet</option>
  <option value="11">Spreadsheet</option>
  <option value="12">Pardot</option>
</select>

连接器是:

[["Shopify", 1], ["Spreadsheet", 8], ["Pardot", 9], ["Spreadsheet ", 10], ["Spreadsheet ", 11], ["Pardot", 12]]

如何防止创建未定义的选项?

1 个答案:

答案 0 :(得分:1)

options_for_select的第二个参数是可选的selected参数,它可以是单个值,也可以是多个select元素,也可以是要选择的值数组。在这种情况下,它正在查找值为Shopify1的选项并标记所选的选项。由于它没有找到Shopify(作为值),因此您将获得未定义的元素。

connectors[0]更改为connectors[0][1],只传递第一个选项的值。