2015-01-12 140 views
0

我试图检索使用灰烬数据的一些JSON内容的文件,但它似乎并没有基于库的惯例是可能检索JSON文件...使用灰烬数据

但是,也许我错了。

基本上,我想找回我的模式“的内容” id为“EN”:

this.store.find('content', 'en');

而且我想灰烬数据请求发送到这个网址:

/content/en.json

但它使用此URL尝试:

/content/contents/en

有没有办法将请求路径更改为我在适配器中所需的路径?

谢谢。

回答

1

您可以使用适配器完全个性化您的请求。

只是要一个ApplicationAdapter或延伸的RESTAdapter或任何其他默认适配器

App.ApplicationAdapter = DS.RESTAdapter.extend({ 

}); 

并修改buildURLpathForType

这里是默认实现链接到buildURL https://github.com/emberjs/data/blob/v1.0.0-beta.14.1/packages/ember-data/lib/adapters/rest_adapter.js#L516

一个 ContentAdapter

我只是混淆了你的网址:它应该是/contents/en默认,而不是/content/contents/en你是否没有添加prefix或棘手的host配置。

用默认的配置后续应该为你的情况做的伎俩

App.ContentAdapter=DS.RESTAdapter.extend({ 
     buildURL : function(){ 
     var default=this._super(); 
     return default+".json"; 
     }, 
     pathForType : function(){ 
     return Ember.String.decamelize(type); 
     } 
});