0

它看起来很简单,但我坚持这个。我有一个控制器和一个专用于订单模型的视图,它有嵌套的客户端。我在 setupController 上创建空记录:

路线:

ShowroomApp.OrdersRoute = Ember.Route.extend
  model: ->
    ShowroomApp.Order.createRecord()
  setupController: (controller,model) ->
    model.set("client", ShowroomApp.Client.createRecord() )
    controller.set("content", model )

控制器:

save: ->
  @content.store.commit()

在 OrdersController 上,我有保存操作以提交表单中所做的更改。它会为每个模型生成两个单独的 POST 请求,但关联不会自行建立。Orders 模型先保存,client_id 显然为 null,因为 client 尚不存在。后来去客户端发布并保存客户端,但订单模型不知道它并且没有客户端。

有什么解决办法吗?

谢谢,J

4

1 回答 1

1

这是由于一个突出的 ember-data 问题 - RESTAdapter: Allow new parent, child to be saved at once

查看Tom Dale 的评论以了解可能的解决方法。它涉及手动添加对同时保存两条记录的支持。

作为替代方案,您可以考虑向onCreate父记录添加回调,然后在回调中创建子记录。如果您可以接受第二次 commit(),这将完成工作。

于 2013-02-22T23:28:23.683 回答