我正在尝试将用户选择放在options_for_select中。
继承我的代码:
<div class="form-group">
<%= f.label :team_for, "I'm for" %> <br>
<%= f.select :team_for, options_for_select(User::TEAMFOR), :prompt => "Please Select" %>
</div>
我该如何设置?
我的HTML输出:
<div class="form-group">
<label for="user_team_for">I'm for</label> <br>
<select id="user_team_for" name="user[team_for]">
<option value="">Please Select</option>
<option value="Team Druid">Team 1</option>
<option value="Team Hunter">Team 2</option>
<option value="Team Mage">Team 3</option>
<option value="Team Paladin">Team 4</option>
<option value="Team Priest">Team 5</option>
<option value="Team Rogue">Team 6</option>
<option value="Team Shaman">Team 7</option>
<option value="Team Warrior">Team 8</option></select>
</div>
如果我选择某些内容,它会进入数据库并显示正确,但在编辑页面上不会显示选择,而是始终将“第1组”设置为已选中。
我需要显示所选的值。
答案 0 :(得分:1)
options_for_select的第二个参数是选定的值:http://guides.rubyonrails.org/form_helpers.html#option-tags-from-a-collection-of-arbitrary-objects
options_for_select的第二个参数必须与期望的内部值完全相等。特别是如果值是整数2,则不能将“2”传递给options_for_select - 您必须传递2.请注意从params哈希中提取的值,因为它们都是字符串。
试试这个:
<%= f.select :team_for, options_for_select(User::TEAMFOR, @user.team_for), :prompt => "Please Select" %>