EmberJS RESTAdapter - 特定网址

时间:2015-03-20 17:14:24

标签: ember.js

我在ember-data上有一个Host模型:

App.Host = DS.Model.extend
  name: DS.attr 'string'

我使用DS.RESTAdapter

EmberJS调用/hosts来获取正常的主机。

我的问题是获取主机的网址不是/hosts而是/nagios/hosts

如何仅为主机型号指定此网址?

我已经尝试过这些答案:

没有任何成功。

目前正在使用:

Ember      : 1.10.0
Ember Data : 1.0.0-beta.15
jQuery     : 2.0.3

感谢您的帮助。

3 个答案:

答案 0 :(得分:3)

仅为hosts模型添加适配器(ember生成适配器主机)并添加命名空间属性:

App.HostsAdapter = DS.RESTAdapter.extend({
  namespace: 'nagios'
});

答案 1 :(得分:1)

终于找到了正确的解决方案。

从上下文开始,我有一个初始的RESTAdapter配置:

App.ApplicationAdapter = DS.RESTAdapter.extend
  host: 'http://localhost:8000/api'

要添加/nagios网址部分,只需创建一个名为adapters/host.coffee(或.js)的文件,如下所示:

App.HostAdapter = App.ApplicationAdapter.extend
  namespace: 'nagios'

请不要App.ApplicationAdapter分机而不是DS.RESTAdapter才能保留初始配置。

瞧!被叫网址现在是http://localhost:8000/api/nagios/hosts

非常感谢EntspAndi提供了非常有用的帮助!

答案 2 :(得分:0)

用于在同一目录中设置路径的命名空间

App.HostsAdapter = DS.RESTAdapter.extend({namespace: 'nagios' });

或者

主机通常用于更改目录

App.HostsAdapter = DS.RESTAdapter.extend({ host: 'nagios' });

如果你想为文件名添加后缀,请这样做(将其置于extend()内)。

suffix: '.json',

      pathForType: function(type) {
        return this._super(type) + this.get('suffix');
      }