我问你关于与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不能像这样......
您对我如何管理它有所了解吗?
非常感谢!
答案 0 :(得分:0)
如果您正在使用Ember-Data的JSONAPIAdapter或任何其他RESTAdapter,那么您想要覆盖urlForUpdateRecord
。 Snapshot.prototype.belongsTo
也很有用。我想像是
// app/adapters/account.js:
urlForUpdateRecord(id, modelName, snapshot) {
const userId = snapshot.belongsTo('user', { id: true });
return `/users/${userId}/account`;
}