我已经设置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,帐户可以很好地加载它的关系,但是当我尝试删除它时,它会给出错误太多的递归。
任何人都可以帮我解决这些问题吗?谢谢:))
答案 0 :(得分:0)
我已经修复了你有FixtureAdapter的问题。您的帐户设备有一个 user_id 属性,而不只是 user ,其中id为值。
App.Account.FIXTURES = [
{
id: 10001,
user: 1,
transactions: [1, 2, 3]
}
];
您可以在此处查看:http://jsfiddle.net/ianpetzer/pGeGw/
关于您使用RestAdapter遇到的递归问题......我可能错了......但我认为这是一个使用ember-data的错误。
请参阅以下链接: