createRecord
从不创建belongsTo
对象。
在存在这种关系并且评论始终Post-> hasOne -> Comment
嵌入在帖子中的情况下,是否有任何解决方法可以创建子模型对象。
这适用于Post -> hasMany -> Comments
(如在 ember-data-example 中。需要帮助,我们遇到了这个问题。
App.Test = DS.Model.extend({
text: DS.attr('string'),
contact: DS.belongsTo('App.Contact')
});
App.Contact = DS.Model.extend({
id: DS.attr('number'),
phoneNumbers: DS.hasMany('App.PhoneNumber'),
test: DS.belongsTo('App.Test')
});
App.PhoneNumber = DS.Model.extend({
number: DS.attr('string'),
contact: DS.belongsTo('App.Contact')
});
App.RESTSerializer = DS.RESTSerializer.extend({
init: function() {
this._super();
this.map('App.Contact', {
phoneNumbers: {embedded: 'always'},
test: {embedded: 'always'}
});
}
});
/* in some controller code */
this.transitionToRoute('contact', this.get('content'));
以下代码行有效:
this.get('content.phoneNumbers').createRecord();
以下代码行失败:
this.get('content.test').createRecord();
这是错误:
Uncaught TypeError: Object <App.Test:ember354:null> has no method 'createRecord'
所以 hasMany 与 createRecord 一起工作,但 1:1 失败。难道我做错了什么 ?什么必须是正确的方法/不可能做到这一点?