我有以下模型:
App.Loan = DS.Model.extend
name: DS.attr('string'),
products: DS.hasMany('App.Product')
然后在我的代码中,我save
在 Loan 对象上调用方法,该对象关联了许多产品,但只有贷款被发布到服务器,关联的对象没有。
我有以下模型:
App.Loan = DS.Model.extend
name: DS.attr('string'),
products: DS.hasMany('App.Product')
然后在我的代码中,我save
在 Loan 对象上调用方法,该对象关联了许多产品,但只有贷款被发布到服务器,关联的对象没有。
快速查看代码,似乎这是有意为之,因为在记录上调用 save 会添加该记录,并且仅在当前事务中添加该记录。如果关联的对象是嵌入的,它们也会被添加。
在您的情况下,我将首先创建一个新事务,添加记录和关联对象,然后在此事务上调用 commit。就像是
var transaction = store.transaction();
transaction.add(loan)
loan.get('products').forEach(function(product)){
transaction.add(product);
});
transaction.commit()
如果您想在贷款中嵌入产品,您可以通过像这样配置适配器来实现。假设您使用的是默认的 REST 适配器:
DS.RESTAdapter.map('App.Loan', {
products: { embedded: always }
}