0

我有经典的多模型形式:一个包含许多 transport_document_rows 的传输文档,如我的模型中所述:

App.TransportDocument = DS.Model.extend
  number: DS.attr 'string'
  date: DS.attr 'string'
  transportDocumentRows: DS.hasMany('App.TransportDocumentRow')

App.TransportDocumentRow = DS.Model.extend
  productName: DS.attr 'string'
  quantity: DS.attr 'string'
  transportDocument: DS.belongsTo('App.TransportDocument')

我在控制台中写了这个脚本:

a = App.Invoice.createRecord();
a.get("invoiceRows").pushObject(App.InvoiceRow.createRecord());
a.get("store").commit();

问题如下:

  • 我的运输文件已正确创建
  • 我的传输文档行是按顺序创建的(它仍然可能不是问题),但传输文档 ID 错误(传输文档 ID:0)。

这种行为是预期的吗?我能做些什么来纠正它?

谢谢

编辑:它工作的唯一方法是使用嵌入式选项:

DS.RESTAdapter.map 'App.TransportDocument', {
  transportDocumentRows: { embedded: 'always' }
}

此选项在单个 HTTP 请求中提交传输文档及其行。

这需要更改 GET 响应,包括直接在响应哈希键中的transport_document_rows内容transport_documents

4

0 回答 0