J'ai deux modèles dans ember.js avec une relation un-à-peut. Maintenant, je veux créer un nouvel objet enfant et j'ai besoin d'assigner un objet parent associé. Je n'arrive pas à comprendre comment faire ça. Mes modèles sont définis avec le code suivant:Comment ajouter un objet parent à un enfant dans une relation un-à-un dans ember js
modèle parent-objet
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
children: DS.hasMany('child')
});
modèle
de l'enfant-objet
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
parent: DS.belongsTo('parent')
});
Dans le model()
-method de la route créer un objet enfant.
var child = this.store.createRecord('child');
puis d'interroger l'objet parent.
var parent = this.findRecord('parent', 2);
Ensuite, j'ai essayé de les lier ensemble, mais tout ce que j'ai essayé a échoué. Par exemple:
parent.get('child').addObject(child) // or
parent.get('child').pushObject(child) // or
child.set('parent', parent)
Ces choses aboutissent à parent
ne pas avoir quoi que ce soit dans child
et child
ne pas avoir quoi que ce soit dans parent
. J'ai également fait quelques tentatives avec la résolution async résoudre mais sans succès. Ce serait génial si quelqu'un pouvait poster un exemple comment gérer cela.
Triple A! C'est exactement ce que je cherchais. Je pensais avoir essayé celui-ci aussi, mais évidemment pas. Peut-être vaut-il mieux noter que l'on doit retourner l'expression entière aussi bien que l'enfant (le parent dans le second exemple) pour assigner le modèle au contrôleur. – Mannimalte