2010-12-07 12 views
1

scénario rapide:référence à plusieurs modèles à Onces

@employment = Employment.new 
@company.employments << @employment 
@person.employments << @employment 

Ici @employment est référencé dans @company et @person, en différentes étapes. A cause de cela, @employment est sauvegardé 2 fois.

Mais je dois faire quelque chose si @employment est un nouvel enregistrement seulement. Mais parce qu'il est sauvegardé 2 fois, @ employment.new_record? renvoie faux dans le 2ème référencement. (c'est-à-dire while referenced_in @person)

Donc, @employment ne peut-il pas être référencé dans @company et @person en une seule étape?

Répondre

1

Ceci est un classique has_many: à travers l'association couverte dans le Rails Guide. Il y a aussi un railscast. La référence de l'entreprise et de la personne à l'emploi devrait être l'inverse.

Person n<->1 Employment 1<->n Company 
0

Il est vraiment pas une bonne idée d'essayer de reproduire has_many: jusqu'au bout MongoId. Le code sera très salissant et vous aurez toutes sortes de bugs.