这个搜索在谷歌上有这么多的结果,它甚至在SO上被问到 - 但到目前为止讨论的解决方案对我没有帮助.这里的问题:我有一个form_for @company |f|和我使用f.collection_select的company_status_id-但加载窗体时,我想实际的公司情况选择是否设置.通过我知道的调试器,它已被设置,但我在那里显示默认值.这是代码:
= puts @company.company_status_id
= f.collection_select :company_status_id, ListCache.company_statuses, :id, :name, {:prompt => @select_value}
Run Code Online (Sandbox Code Playgroud)
这是生成的htmnl
<select id="company_company_status_id" prompt="-Select-" name="company[company_status_id]">
<option value="1">-Not Available-</option>
<option value="2">Active</option>
<option value="3">Bankrupt</option>
<option value="4">Acquired</option>
</select>
Run Code Online (Sandbox Code Playgroud)
即使我这样做,条件仍然相同:
f.collection_select :company_status_id, ListCache.company_statuses, :id, :name, {:prompt => @select_value, :selected => :selected => @company.company_status}
Run Code Online (Sandbox Code Playgroud)
要么
f.collection_select :company_status_id, ListCache.company_statuses, :id, :name, {:prompt => @select_value, :selected => @company.company_status}
Run Code Online (Sandbox Code Playgroud) 我正在尝试让ActionView-Helpercollection_select获取一个将在下拉菜单中预先选择的值.
两者都没有(:selected在html-option-hash中)
<%= collection_select(:my_object, :my_method, @my_collection, :id, :description_string, {}, {:selected => @my_collection_object.id}) %>
Run Code Online (Sandbox Code Playgroud)
也不是(:selected在选项 - 哈希)
<%= collection_select(:my_object, :my_method, @my_collection, :id, :description_string, {:selected => @my_collection_object.id}, {}) %>
Run Code Online (Sandbox Code Playgroud)
似乎工作.
我究竟做错了什么?任何人都可以帮我这个吗?