在我的"销售" -View中我想手动将UserID分配给" Sale"。 通常,用户ID和名称通过
保存在控制器中@sale.user_id = current_user.id
@sale.name = current_user.name
但是我想手动覆盖这些值:
<%= f.select :user_id, User.all.map { |c| "#{[c.name]} #{[c.id]}" }, :prompt => "Choose..", class: "form-control" %>
但是这个尝试将整个数组保存到sale.user_id列。你会如何解决这个问题?
简而言之:Dropdown只应显示用户名,但会将UserID保存到数据库中。
非常感谢提前!
答案 0 :(得分:1)
这应该有效:
<%= f.collection_select(:user_id, User.all, :id, :name, {prompt:true}, {class: 'form-control'}) %>
希望它有所帮助!
答案 1 :(得分:0)
<%= f.select :user_id, User.all.map { |c| [c.name, c.id] }, :prompt => "Choose..", class: "form-control" %>