Mes données ressemble à ceci:relations ActiveRecord lorsque le modèle a à la fois un et plusieurs du même modèle
class Team < ActiveRecord::Base
has_many :persons
has_one :leader
end
class Person < ActiveRecord::Base
belongs_to :team
end
personne appartient à une seule équipe, mais des nombreux membres de l'équipe il y a seulement 1 chef.
Première question: devrais-je utiliser belongs_to au lieu de has_one dans le modèle Team? Deuxièmement: L'équipe est créée avec beaucoup de personnes et le leader connu au départ. Comment cela devrait-il être fait?
Actuellement, je suis en train de faire quelque chose comme ça dans mon contrôleur:
@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
Ceci est un problème, quand je liste @ team.persons, @ team.leader a le premier identifiant, je suppose que @team. enregistrer enregistre l'association leader en premier. J'ai besoin qu'ils soient dans l'ordre où ils sont fournis.
Merci!
S'il vous plaît changer le titre de votre question à un plus significatif. –
Mon mauvais, je l'éditais juste. Je ne voulais pas poster comme ça. – emery
voter pour rouvrir avant op crée un nouveau. – OscarRyz