我在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
感谢您的帮助。
答案 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');
}