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 は失敗します。私は何か間違っていますか?正しい方法は何ですか/これを行うことは不可能ですか?