使用相关模型保存表单

时间:2013-02-22 22:24:29

标签: ember.js associations ember-data

接缝简单,但我坚持这个。我有一个控制器,以及专用于订单模型的单一视图,它具有嵌套客户端。我在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请求,但是关联不会自行构建。订单模型首先保存,而client_id显然为null,因为客户端尚不存在。稍后客户发布并保存客户端,但订单模型不知道它并且没有客户端。

有没有解决方案呢?

谢谢, Ĵ

1 个答案:

答案 0 :(得分:1)

这是由于一个出色的余烬数据问题 - RESTAdapter: Allow new parent, child to be saved at once

查看Tom Dale's Comment以获取可能的解决方法。它涉及手动添加支持以立即保存两个记录。

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