5

假设我有一个拥有许多产品客户

该 api 有一个PUT: /customers/:id/cancel取消客户并取消所有产品,然后返回客户和产品以进行侧载:

{
  customer: {
    id: 1,
    name: "Customer Name",
    canceled: true,
    products: [1, 2] },

  products: [
    {id: 1, customer_id: 1, name: "Product 1", canceled: true},
    {id: 2, customer_id: 1, name: "Product 2", canceled: true}
  ]
}

我将如何:

  1. 对客户采取该行动?
  2. 更新 Ember 商店中的所有对象?
4

1 回答 1

1

对于您问题的第 1 部分,

  • 你会想在商店里找到它var customer = store.find('customer', 1);
  • 然后告诉它删除customer.destroyRecord();
  • 最后提交删除customer.save();

对于第 2 部分。删除产品,您必须在 forEach 循环中手动删除它们,隐藏在Ember.run.once. 中,因为在游戏的这个阶段,ember 数据中没有级联删除。

这是一个顶级删除的示例,因此您需要遵循相同的逻辑,但您需要遵循相同的逻辑,products然后使用.then删除连接的客户。

希望这能满足您的要求。干杯!

于 2014-05-07T18:06:43.310 回答