1

私のアプリケーションでは、モデル間に双方向の 1:1 の関係があります。それらの間に関連付けを設定しようとすると、...

Uncaught RangeError: Maximum call stack size exceeded

...そしてトレースが繰り返されます

OrderedSet.forEach
Map.forEach
DS.Model.Ember.Object.extend.toJSON
DS.Model.Ember.Object.extend.addBelongsToToJSON
DS.Model.Ember.Object.extend.toJSON
Map.forEach
OrderedSet.forEach

コードの関連部分:

App.Employee = DS.Model.extend( {
    // ... 
    recruitment:DS.belongsTo( 'App.Recruitment', { embedded: true } )
} );

App.Recruitment = DS.Model.extend( {
    // ...
    employee:DS.belongsTo( 'App.Employee', { embedded: true } ),
} );

// ...

recruitment.set('employee', employee);
employee.set('recruitment', recruitment);
App.store.commit(); // <= boom

これは Ember Data がサポートすべきものですか、それとも私がこれにアプローチするのはすべて間違っていますか?

4

2 に答える 2

2

Ember-Data は現在、1 対 1 の関連付けをサポートしていません。

于 2012-10-12T14:56:17.900 に答える
0

これは修正され、モデルを相互に関連付ける簡単なプロセスになりました。

App.User = DS.Model.extend({
  profile: DS.belongsTo('profile')
});

App.Profile = DS.Model.extend({
  user: DS.belongsTo('user')
});

上記はhttp://emberjs.com/guides/models/defining-models/の例です

于 2014-05-24T08:54:12.600 に答える