我对Rails非常新手,所以这可能是一个显而易见的问题,如果是这样,我很抱歉。
我正在尝试创建一个创建User
记录的表单,该记录与Team
模型具有belongs_to
关联。 我目前所做的是...
<% form_for @user, url: {action: "create"} do |f| %>
<%= f.text_field :name %>
<%= f.text_field :email %>
<% f.fields_for :team do |team| %>
<%= team.collection_select(:team_id, Team.all, :id, :name) %>
<% end %>
<%= f.submit %>
<% end %>
这似乎运行得足够好,但是在创建用户记录时我遇到了麻烦。
def create
@team = Team.find(params[:user][:team][:team_id])
@team.users.create(user_params)
# Ignoring error checking for brevity
end
def user_params
params.require(:user).permit(:name, :email)
end
现在的params包含一个
team_id
字段,这不是User
模型的属性,因此无法创建。我不确定如何解决这个问题,更不知道这是否是适当的方法。欢迎提出任何建议!