私はember jsに手をかけています。オブジェクトプロキシの 'content'プロパティにset( 'personName'、s)を委任できません。 'DS.PromiseObject:ember323>:' content 'は定義されていません
{{client-form client=model.client person=model.client.person address=model.client.residentialAddress errors=model.errors onSave=(action "save") }}
01:文字列属性を持つ単一のモデルが簡単で、モデル内の複数のモデルを使用して...
model/client.js
export default DS.Model.extend({
person: DS.belongsTo('person', {async: false, inverse: 'client'}),
postalAddress : DS.belongsTo('address', {async: false}) ,
residentialAddress : DS.belongsTo('address', {async: true}) ,
personName: DS.attr('string'), //added from person
greeting : DS.attr('string') //added from person
});
model/person.js
export default DS.Model.extend({
name : DS.attr('string'),
personName : DS.attr('string'),
greeting : DS.attr('string') ,
client: DS.belongsTo('client', {inverse: 'person'})
});
マイルート ルート/クライアント/
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return Ember.RSVP.hash({
'client': this.get('store').createRecord('client' ,
{ //does this not initialize person
person: 'person', address: 'address'
}),
//)
//does this not initialize person
'person': this.get('store').createRecord('person',{
client: 'client'
}),
'address': this.get('store').createRecord('address')
}
);
}
});
を作成し、私のテンプレートは、唯一のラインを持っています私のクライアントform.hbsで
iはclient.person.personNameまたはclient.person.greeting呼ばいくつかのフィールドを持っていた、と私は最初の文字を入力したとき、私は
Assertion Failed: Cannot call set with 'greeting' on an undefined object.
挨拶のために取得したり、PERSONNAMEう
私はpersonNameと挨拶をクライアントモデルに直接追加して、client.personNameとclient.greetingを参照する2つのフィールドを追加しました。これらのフィールドは問題がありません。私は人のモデルが初期化されておらず、おそらくクライアントはインスタンス化されていますが、人と住所は異なり、人は未定義のオブジェクトだと考えています。
ようなモデルの理由は、私はJavaのバックエンドを持っていると私のClientDTOがのように見えるということです。
public class ClientDTO /*implements IsSerializable*/ {
private PersonDTO personDTO;
private AddressDTO postalAddress;
private AddressDTO residentialAddress;
私は人とアドレスを初期化見逃している、私はエラーを持つ皆さんは「
を呼び出すことはできません見つけることができます
を未定義に設定しますが、設定しません。 編集:
Assertion Failed: Cannot delegate set('partyName', aaa) to the 'content' property of object proxy <DS.PromiseObject:ember323>: its 'content' is undefined.
: 今すぐオンラインいくつかの例を見た後、私は今、私が手にいくつかのモデル
import Ember from 'ember';
export default Ember.Controller.extend({
actions: {
save() {
console.log("yes controller");
let client = this.model.client;
let person= this.model.person;
let residentialAddress = this.model.client.residentialAddress;
client.save().then(() => {
person.save();
residentialAddress.save();
this.transitionToRoute('message', {queryParams: {message: 'created'}});
});
}
}
});
を初期化するために、私のコントローラを変えて、私の
routes/client/create.js
export default Ember.Route.extend({
model() {
return Ember.RSVP.hash({
client: this.get('store').createRecord('client' ,
{
person: 'person', residentialAddress: 'address'
}),
//)
party: this.get('store').createRecord('person',{
client: '
client'
}),
residentialAddress : this.get('store').createRecord('address')
}
);
}
});
へのルートを作成する変更同じことを言う別の方法です。私は、ルート内のモデルを正しく作成していないと思います。