我有 2 个模型用户和团队。一个团队可以有很多用户,每个用户都属于一个团队。
team_id 是我的用户表中的一列作为 fk。
我想在我的创建用户表单上有一个选择下拉列表,其中包含我所有的团队 team_id。
这段代码做我想要的但是
<%= f.fields_for :teams do |builder| %>
<p>
<%= f.label :team_id, "Select Team For User" %>
<%= builder.collection_select :team_initials, Team.all, :id, :team_initials %>
</p>
<% end %>
它不会尝试将 id 值添加到用户。这是错误
Parameters:
{"utf8"=>"✓",
"authenticity_token"=>"xxxxx",
"user"=>{"name"=>"brand new",
"email"=>"test1@test.com",
"password"=>"[FILTERED]",
"password_confirmation"=>"[FILTERED]",
"teams"=>{"team_initials"=>"27"}},
"commit"=>"Create my account"}
它抱怨它不能添加到团队模型中。
我要做的就是为我的创建用户表单获取所有现有团队的 ID,因此当您创建用户时,您可以选择该用户团队。
我上面有 team_initials 的原因是我试图使用对用户更友好的字段进行选择,但仍将用户团队 ID 作为值。