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

emberJS 2 : nested relationships resources for actions (update & delete)

本文关键字:资源 更新 删除 关系 嵌套 用于 操作 emberJS      更新时间:2023-09-26

我问你与Ember Data的关系。

我有一个属于帐户和云的用户。数据与 URL 关联良好。

该 API 是这样完成的:

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

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

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

我需要什么 :

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

补丁用户/:id ->更新用户

PATCH users/:id/account ->更新与用户 ID 关联的帐户。userId 在 API 端就足够了,但如有必要,我们可以 像这样发送帐户 ID -> 用户/:ID/帐户/:ID帐户

使用删除 http 方法删除帐户的相同 URL。

当我触发"model.get('account'(.get('content'(.save(( 时,它会发送

帐户

/:标识帐户

但是我们的 API 不是这样工作的...

你对我如何管理它有想法吗?

多谢!

如果您使用的是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`;
}