成员适配器问题



我设置了一个jsFiddle来演示我在学习Ember.js 时遇到的问题

我有这些型号:

App.User = DS.Model.extend({
    firstName: DS.attr('string'),
    lastName: DS.attr('string'),
    account: DS.belongsTo('App.Account')
});
App.Account = DS.Model.extend({
    user: DS.belongsTo('App.User'),
    transactions: DS.hasMany('App.Transaction'),
    balance: function() {
      return this.get('transactions').getEach('amount').reduce(function(accum, item) {
          return accum + item;
      }, 0);
  }.property('transactions.@each.amount')
});
App.Transaction = DS.Model.extend({
    account: DS.belongsTo('App.Account'),
    amount: DS.attr('number'),
    description: DS.attr('string')
});

使用FixtureAdapter,帐户加载它的hasMany事务,但不加载它的belongsTo用户。

使用RESTAdapter,帐户加载它的关系很好,但当我试图删除它时,它会给错误太多递归。

有人能帮我解决这些问题吗?感谢:)

我已经修复了您使用FixtureAdapter的问题。您的Account fixtures有一个user_id属性,而不是只有以id为值的user

App.Account.FIXTURES = [
{
    id: 10001,
    user: 1,
    transactions: [1, 2, 3]
}
];

你可以在这里看到:http://jsfiddle.net/ianpetzer/pGeGw/

关于您在使用RestAdapter时遇到的递归问题。。。我很可能错了。。。但我认为这是ember数据的错误。

请参阅以下链接:

https://github.com/emberjs/data/issues/671

Ember数据清除关系中的无限循环?

最新更新