emberJS 2:用于操作的嵌套关系资源(更新和删除)

时间:2016-02-08 16:36:09

标签: javascript api ember.js ember-data relationships

我问你关于与Ember Data的关系。

我有一个属于帐户和云的用户。数据与URL密切相关。

API就是这样完成的:

  

获取用户/:id - >发送用户

     

获取用户/:id / account - >发送帐户状态信息

     

获取用户/:id / cloud - >发送云状态信息

我需要什么:

  

我需要能够使用用户ID更新帐户和云   信息。 API期望这样:

     

PATCH用户/:id - >更新用户

     

PATCH用户/:id / account - >更新与userId关联的帐户。 userId在API方面已足够,但我们可以在必要时使用   像这样发送帐户ID - >用户/:ID /帐户/:idaccount

使用DELETE http方法删除帐户的相同网址。

当我触发“model.get('account')。get('content')。save()它发送

  

账户/:idaccount

但我们的API不能像这样......

您对我如何管理它有所了解吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

如果您正在使用Ember-Data的JSONAPIAdapter或任何其他RESTAdapter,那么您想要覆盖urlForUpdateRecordSnapshot.prototype.belongsTo也很有用。我想像是

// app/adapters/account.js:
urlForUpdateRecord(id, modelName, snapshot) {
  const userId = snapshot.belongsTo('user', { id: true });
  return `/users/${userId}/account`;
}