2017-02-24 5 views
0

J'ai trois modèles Session, Participant, Rôle. Le participant est imbriqué dans Session et Role est un modèle distinct. Je veux être en mesure de créer une nouvelle session et lorsque la session est créée, un participant est créé pour cette session qui a le rôle "Propriétaire".Créer une ressource imbriquée en même temps que le parent

Je dessine un blanc sur deux choses:

1) Comment ajouter un participant à la session lors de la création

2) Comment trouver l'ID pour le rôle « propriétaire » et l'ajouter comme un paramètre pour le Participant.

Réjouissez-vous d'avoir de vos nouvelles!

: D

Répondre

0

Couple d'options.

Ajoutez-le au rappel after_create ou before_create sur la session.

class Session 
    after_create :create_attendee 

    def create_attendee 
     Attendee.create(session: this) 
    end 
end 

class Session 
    before_create :build_attendee 

    def build_attendee 
     this.attendees << Attendee.new(...) 
    end 
end 

Créer explicitement lors de la création de votre objet de session

session = Session.new(..) 
session.attendees << Attendee.new(..) 
session.save