Нет полной информации, чтобы дать вам конкретное решение, но оно поможет вам в правильном направлении, чтобы решить его на примере.
Допустим, у вас есть модель Parent и модель ваших игроков, которую вы хотитедобавить родителя с 3 игроками в той же форме.
мы определяем в ваших родительских моделях, что вы можете принимать вложенные атрибуты для ваших игроков, поэтому, например, если вы хотите создать родителя с некоторыми игроками, вы можете сделать что-то вроде Parent.create(params_with_players_too)
, и он создаст родительскийи создать игроков тоже, связанных с этим родителем.конечно, имея в виду, что параметры приходят правильным образом.
Class Parent < ActiveRecord::Base
has_many :books
accepts_nested_attributes_for :players
end
Class Player < ActiveRecord::Base
belongs_to :parent
end
, после этого ваша форма может выглядеть примерно так:
<%= form_for @parent do |f| %>
<%= f.fields_for :players, [Player.new]*3 do |player| %>
<%= player.text_field :name %>
<% end %>
<%= f.submit %>
<% end %>
, и в вашем контроллере вы должныразрешить игрокам params тоже, что-то вроде этого
def create
@parent = Parent.new(parent_params)
if @parent.save
...
end
def parent_params
params.require(:parent).permit(:attribute1, players_attributes: [:id, :name])
end
конечно, вам придется понять это и адаптировать его к вашему конкретному случаю, надеюсь, что это поможет вам.