Ember Data中的双向一对一关联

时间:2012-10-12 09:58:17

标签: javascript ember.js ember-data

在我的应用程序中,我在模型之间有两种方式的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应该支持的东西,还是我接近这一切都错了?

2 个答案:

答案 0 :(得分:2)

Ember-Data目前不支持一对一关联。

答案 1 :(得分: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/

的示例