【问题标题】:emberJS 2 : nested relationships resources for actions (update & delete)emberJS 2:用于操作的嵌套关系资源(更新和删除)
【发布时间】:2016-02-08 16:36:08
【问题描述】:

我在问你与 Ember Data 的关系。

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

API 是这样完成的:

GET users/:id -> 发送用户

GET users/:id/account -> 发送账户状态信息

GET users/:id/cloud -> 发送云状态信息

我需要什么:

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

PATCH users/:id -> 更新用户

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

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

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

accounts/:idaccount

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

你知道我该如何管理它吗?

非常感谢!

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 是的,我使用 JSONAPIAdapter。我在我的帐户适配器中使用了这个覆盖功能,对吧?
    • 是的,在adapter:account
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多