我想知道如何在form_for select上设置默认值。
我的代码是这样的:
<%= form_for(@user) do |f| %>
.
.
.
<div class="field">
<%= f.select(:user_group_id, options_for_select(@user_groups.collect {|p| [ p.name, p.id ] }, "Select Category")) %>
</div>
<%= end %>
显然它会返回字段user_group的所有值。在我的编辑页面上,我想将默认值设置为用户在user_group中的任何值。请帮忙
答案 0 :(得分:11)
您可以将第二个选项传递给options_for_select
,表示所选的值。
options_for_select(@user_groups.collect { |p| [p.name, p.id] }, @user.user_group)
显然我不确定你的模型是如何设置的,但如果有必要,你可以使用像find这样的方法找到你想要的条目。
答案 1 :(得分:1)
添加参数:selected =&gt;
<%= form_for(@user) do |f| %>
.
.
.
<div class="field">
<%= f.select(:user_group_id, options_for_select(@user_groups.collect {|p| [ p.name, p.id ] }, "Select Category"), :selected =>f.object.user_group_id) %>
</div>
<%= end %>