有可能有像geo-data这样的模型名称吗?让我解释一下
我有个这样的模特
// app/models/geo-data.js
import DS from 'ember-data';
var geoData = DS.Model.extend({
name: DS.attr('string')
});
geoData.reopenClass({
FIXTURES: [
{
name: 'foo'
}
]
});
export default geoData;那我就有一条路
// app/routes/index.js
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return this.store.find('geo-data');
}
});和一个适配器
// app/adapters/geo-data.js
import DS from 'ember-data';
export default DS.FixtureAdapter.extend({});但是我的应用程序一直试图向http://customhost.com/geoData发送GET请求
/geoData而不是/geo-data发送请求。我肯定漏掉了什么东西,你能帮我点亮吗?谢谢
发布于 2015-01-19 16:25:54
默认情况下,REST Adapter将对您的模型进行camelize和多元化,以获得关联的端点。如果要重写此功能,则可以重写适配器。有关所有文档,请参见pathForType,但对于您的场景,如果希望保留破折号,则可以执行以下操作
export default DS.RESTAdapter.extend({
pathForType: function(type) {
var dasherized = Ember.String.dasherize(type);
return dasherized;
}
});就夹具适配器发送请求的问题而言,这似乎很奇怪,而且不应该如此。我确实注意到,您的夹具数据没有id,而且肯定应该有。下面是一个使用夹具适配器的示例。
http://emberjs.jsbin.com/firore/1/edit?html,css,js,output
App = Ember.Application.create();
App.Router.map(function() {
// put your routes here
});
App.IndexRoute = Ember.Route.extend({
model: function() {
return this.store.find('foo');
}
});
App.FooAdapter = DS.FixtureAdapter.extend({});
App.FooModel = DS.Model.extend({
name: DS.attr()
});
App.FooModel.reopenClass({
FIXTURES: [
{
id: 1,
name: 'foo'
},
{
id:2,
name: 'bar'
}
]
});我还要指出,我过去曾遇到过名为“data”的对象可能会导致意外行为的问题。
https://stackoverflow.com/questions/28028520
复制相似问题