我在models / application.js中创建了模型:
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string')
});
在adapter / application.js中创建了适配器:
import Ember from "ember";
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
host: 'http://site.work/rest/v1/'
});
路由/ application.js中的路由:
import Ember from 'ember';
export default Ember.Route.extend({
model: function () {
return this.store.all('application');
});
templates / application.hbs中的模板
{{#each item in model}}
<li>{{item.name}}</li>
{{/each}}
app.js
import Ember from 'ember';
import Resolver from 'ember/resolver';
import loadInitializers from 'ember/load-initializers';
Ember.MODEL_FACTORY_INJECTIONS = true;
var App = Ember.Application.extend({
modulePrefix: 'chat', // TODO: loaded via config
Resolver: Resolver
});
loadInitializers(App, 'chat');
export default App;
router.js
import Ember from 'ember';
var Router = Ember.Router.extend({
location: ChatENV.locationType
});
Router.map(function() {
this.route("application");
});
export default Router;
来自服务器的JSON示例:{"application":[{"id":"1","name":"qwe"},{"id":"2","name":"qwe2"}]}
但我的模型是空的,我无法在开发人员工具中找到任何xhr请求。
我应该如何在Ember Cli中使用DS.RESTAdapter?
注意:当我将此行添加到路由器时,它可以工作:
this.store.push('application',{'id':5, 'name':'Is this a question?'});
答案 0 :(得分:2)
我不确定您的模型名称(application
)是否导致奇怪的行为,因为ember(-cli)也将此名称用作根目录,例如适配器,路由等。
除此之外,我将按如下方式定义我的适配器:
import DS from 'ember-data';
export default DS.RESTAdapter.extend({
namespace: 'rest/v1'
});
然后使用以下命令启动服务器:
ember server --proxy=http://site.work