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) %>
在我的 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) %>