使用 Ember 数据检索 json 文件
Retrieve json file using Ember Data
我正在尝试使用 Ember 数据检索一些 JSON 内容文件,但根据图书馆的惯例,这似乎是不可能的...
但是,也许我错了。
我基本上是在尝试使用 ID "en":
检索我的模型 "content"
this.store.find('content', 'en');
我想Ember数据发送请求到这个URL:
/content/en.json
但它正在尝试使用这个 url:
/content/contents/en
有没有办法将请求路径更改为我在适配器中需要的路径?
谢谢。
您可以使用适配器完全个性化您的请求。
只需制作一个 ApplicationAdapter
或 ContentAdapter
来扩展 RESTAdapter 或任何其他默认适配器
App.ApplicationAdapter = DS.RESTAdapter.extend({
});
并修改buildURL
和pathForType
这里有一个 link 到构建的默认实现 URL https://github.com/emberjs/data/blob/v1.0.0-beta.14.1/packages/ember-data/lib/adapters/rest_adapter.js#L516
我只是对你的 URL 感到困惑,但是:默认情况下应该是 /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);
}
});
我正在尝试使用 Ember 数据检索一些 JSON 内容文件,但根据图书馆的惯例,这似乎是不可能的...
但是,也许我错了。
我基本上是在尝试使用 ID "en":
检索我的模型 "content"this.store.find('content', 'en');
我想Ember数据发送请求到这个URL:
/content/en.json
但它正在尝试使用这个 url:
/content/contents/en
有没有办法将请求路径更改为我在适配器中需要的路径?
谢谢。
您可以使用适配器完全个性化您的请求。
只需制作一个 ApplicationAdapter
或 ContentAdapter
来扩展 RESTAdapter 或任何其他默认适配器
App.ApplicationAdapter = DS.RESTAdapter.extend({
});
并修改buildURL
和pathForType
这里有一个 link 到构建的默认实现 URL https://github.com/emberjs/data/blob/v1.0.0-beta.14.1/packages/ember-data/lib/adapters/rest_adapter.js#L516
我只是对你的 URL 感到困惑,但是:默认情况下应该是 /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);
}
});