0

我有以下模型:

App.Loan = DS.Model.extend
    name: DS.attr('string'),
    products: DS.hasMany('App.Product')

然后在我的代码中,我save在 Loan 对象上调用方法,该对象关联了许多产品,但只有贷款被发布到服务器,关联的对象没有。

4

1 回答 1

0

快速查看代码,似乎这是有意为之,因为在记录上调用 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 }
}
于 2013-08-07T11:55:32.377 回答