rails 4 select selected 选项无效

rails 4 select with selected option not working

在我的 rails 4 表单中,我有一个字段为 select 值。

<%= f.select(:owner_user_id, Item.find(session[:login_users_item_id]).try(:users).order_by_fullname.collect {|u| [ u.full_name, u.id ] } , {:selected =>  current_user.full_name} )%>

但是,上面的selected选项没有显示上面的值。在控制台中,该值正在变得 properly.Now,第一项显示在 select 框中。

如何获取selected选项中的值作为默认值?

f.select 方法的第三个参数是选定的值,您可以在此处传递您希望看到的选定值。在你的情况下:current_user.full_name

<%= f.select(:owner_user_id, Item.find(session[:login_users_item_id]).try(:users).order_by_fullname.collect {|u| [ u.full_name, u.id ] }, current_user.full_name)%>
<%= f.select(:owner_user_id, Item.find(session[:login_users_item_id]).try(:users).order_by_fullname.collect {|u| [ u.full_name, u.id ] }, selected: f.object.owner_user_id)%>

试试这个

您也可以使用 options_for_select 助手。

示例:

<%= f.select :owner_user_id, options_for_select(Item.find(session[:login_users_item_id]).try(:users).order_by_fullname.pluck([ :full_name, :id ]), f.object.owner_user_id) %>