Я очень новичок в Rails, поэтому это может быть очевидной проблемой, и если это так, я прошу прощения.
Я пытаюсь создать форму для создания записи User
, которая имеет связь belongs_to
с моделью Team
. То, что я сделал до сих пор, это следующее...
<% 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
Параметры теперь содержат поле для team_id
, которое не является атрибутом модели User
, поэтому создание не удается. Я не уверен, как решить эту проблему, не говоря уже о том, является ли это подходящим подходом к этому. Любой совет будет принят с благодарностью!