动态API命名空间更改

时间:2013-05-21 13:29:33

标签: ember.js ember-data

我有一个应用程序需要根据状态更改API命名空间。为了说明这一点,这里有一些api端点:

/groups     (lists all groups)
/foo/users  (lists all users in group foo)
/bar/users  (lists all users in group bar)

我导航到foo路线,然后点击用户链接。如何动态更改用户的命名空间?

更新 这是一些代码。我还在想Ember,我的JS知识也有些不稳定。

我使用了我已经子类化的ember-data RESTAdapter。最重要的是我有这个:

App.RESTAdapter.reopen({
  url: "http://127.0.0.1:5001"
});

这很有效,所以我想把以下内容放到控制器中

App.GroupRoute = Em.Route.extend({
  setupController: function(controller) {
    App.RESTAdapter.reopen({url:"http://127.0.0.1:5000", namespace: 'blah'});
    controller.set('model', App.User.find());
  }
});

但这没有任何区别。根据我的理解,在控制器初始化时更改命名空间是最有意义的(因为在那个阶段我已经知道命名空间应该是什么),但我不确定如何实现它

更新2

我设法让它使用以下代码。这是最好的方式吗?

var id = window.App.__container__.lookup('controller:group').get('id');
App.RESTAdapter.prototype.namespace = id;`` 

0 个答案:

没有答案