Мои данные похожи на это:
class Team < ActiveRecord::Base
has_many :persons
belongs_to :leader, :class_name => "Person"
end
class Person < ActiveRecord::Base
belongs_to :team
end
Я создаю команду так:
@team = Team.new
for (each new person as p)
new_person = @team.persons.build
new_person.name = p.name
if p.is_marked_as_leader
@team.leader = new_person
end
end
@team.save
Когда я перечисляю @ team.persons, @ team.leader имеет первый идентификатор, я думаю, потому что @ team.save сохраняет ассоциацию лидеров перед людьми. Мне нужно, чтобы они были в том порядке, в котором они были предоставлены, где: leader owner_to ссылается на один из идентификаторов в моем has_many: people
Спасибо!