【问题标题】:Ember-data in more complex routes更复杂路线中的 Ember 数据
【发布时间】:2015-05-02 16:48:20
【问题描述】:

我有一个名为 goal 的 Ember 数据模型,其中列表视图映射回 RESTful API,位于:

GET /api/users/[id]/goal

单个目标记录将映射到:

GET /api/users/[id]/goal/[goalId]

我想知道的是......使用 ember-data 的 RESTAdapter 配置它的最优雅的方式是什么?到目前为止,我所做的是将应用程序适配器(又名adapters/application.js)设置为“api”的命名空间,以便处理偏移量。

我不确定如何确保包含 URL 的 /users/[id] 部分。显然这是一个动态的部分,虽然我怀疑它实际上并不难,但我只是不确定如何开始。

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    它不是 100% 清楚用户 ID 是什么,因为用户总是听起来像身份验证。所以有两种情况:

    用户关注安全性,但可以在访问目标之前在网站上选择。

    在这种情况下,您有一个带有goals: hasMany('goal') 的用户模型,您应该通过用户的关系访问目标。你可能有一个嵌套的Route,可以从路由中用this.modelFor('user')访问到周围UserRoute的模型,然后访问goals

    在适配器上,有趣的函数是findHasMany。另一种简单的方法是在 User 上添加一个 links 对象,并带有 `goals: '/api/users/thisUsersId/goals/'。

    对于单一目标,该目标应该可以通过/api/goals/id 访问,因为id 应该是绝对唯一的。

    您使用用户进行身份验证和授权。

    在这种情况下,我建议您使用 ember-simple-auth 并实现自定义授权器。在这里你可以实现authorize函数并修改jQuery-XmlHttpRequest以包含用户部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-15
      • 2014-01-26
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      相关资源
      最近更新 更多