Ember数据 - 单个模型的多个名称空间

时间:2015-03-20 22:24:20

标签: ember.js ember-data

我有一个名为活动的Ember数据模型。

根据我当前的路线,我需要调用服务来使用来自不同API命名空间的活动填充商店。因此,虽然我当前的 ActivityAdapter 看起来像这样:

App.ActivityAdapter = DS.RESTAdapter.extend({
    namespace: 'services/activities'
});

我真的希望它看起来像这样:

App.ActivityAdapter = DS.RESTAdapter.extend({
    if (this.get('currentRoute') === "user") {
        namespace: 'services/users/activities'
    } else {
        namespace: 'services/activities'
    }
});

我似乎无法为此找到解决方案,而我现在能想到的最好的方法就是创建一个单独的 UserActivity 模型,该模型基本上具有与活动模型,然后指定单独的 UserActivityAdapter

还有其他人遇到过这个问题吗?任何意见都表示赞赏!

1 个答案:

答案 0 :(得分:0)

您是否在服务器上控制您的API?如果是这样,您只需更改/services/activities端点即可接受可选的userId查询参数。

因此,您将始终以相同的命名空间为目标:

  • GET /services/activities =>返回所有活动
  • GET /services/activities?userId=123 =>返回用户123
  • 的活动

这是REST API中的常见模式。但也许我误解了你的问题?