我的表单中有一个选择框,我可以从列表中选择一个用户。这样可以正确保存并将用户应用到我的Chasing模型中,但我想知道是否可以让select显示当前分配的用户,而不是每次编辑对象时都重置它。我的表单代码是:
<%= f.select :user_id, options_for_select(User.all.map {|c| [c.name, c.id]}), { :include_blank => "Please select user"}, {:class => "form-control"} %>
我也做了这样,以便表单需要保存用户,但是在某些情况下我需要使用默认用户(称为“未分配”)保存新的Chasing。有没有办法将选择框默认为此用户除非追踪已经为其分配了用户?
对此的任何帮助将不胜感激:)
答案 0 :(得分:1)
根据这个:http://apidock.com/rails/v4.2.1/ActionView/Helpers/FormOptionsHelper/options_for_select
<%= f.select :user_id, options_for_select(User.all.map {|c| [c.name, c.id]}, current_user.id), { :include_blank => "Please select user"}, {:class => "form-control"} %>
(将current_user
替换为您要放入的用户对象)
答案 1 :(得分:1)
只需在@object.field_name
之后的options_for_select
中添加collection
,如下所示。
<%= f.select :user_id, options_for_select(User.all.map {|c| [c.name, c.id]}, @object.user_id), { :include_blank => "Please select user"}, {:class => "form-control"} %>
希望这能解决你的问题。
答案 2 :(得分:0)
您可以将:selected => value
作为参数传递
<%= f.select :user_id, options_for_select(User.all.map {|c| [c.name, c.id]}), { :include_blank => "Please select user"}, {:class => "form-control", :selected => o.customer_id } %>