我有一个基本的博客应用程序,我无法使用Ember-Data使RESTful Adapter正常工作。当我转到/posts
路由时,它正在向服务器发送GET请求,并且节点服务器正在发回正确的数据,但它似乎不会持续存在于Ember中。
这是我的应用程序:
// Model
App.Post = DS.Model.extend({
title: DS.attr(),
post_content: DS.attr(),
tags: DS.attr(),
creationDate: DS.attr()
});
// Posts route
App.PostsRoute = Ember.Route.extend({
model: function() {
return this.store.find('post');
}
});
App.PostsController = Ember.ArrayController.extend({
sortProperties: ['title'],
sortAscending: true,
postsCount: function() {
return this.get('model.length');
}.property('@each')
});
// store.js
App.ApplicationAdapter = DS.RESTAdapter;
App.PostAdapter = DS.RESTAdapter;
后端:
app.get( '/posts', function( request, response ) {
post = {post: {
"id": 1,
"title": 'A great post',
"post_content": 'A few brilliant things to say here.',
"tags": ['JavaScript', 'Underscore'],
"creationDate": 'Mon, 26 Aug 2013 20:23:43 GMT'
}};
console.log(post); // successfully logs the post
return response.send(post)
});
数据未显示在页面上或Ember Inspector中。我已经尝试过寻找关于Ember-Data的教程以获得一些帮助,但它们都已经过时了并且没有为我工作。
对此问题的任何见解将不胜感激!此外,我认为这是所有相关的代码,但如果有帮助我可以添加更多。
答案 0 :(得分:1)
您的服务器应该返回一系列帖子:
post = {posts: [{
"id": 1,
"title": 'A great post',
"post_content": 'A few brilliant things to say here.',
"tags": ['JavaScript', 'Underscore'],
"creationDate": 'Mon, 26 Aug 2013 20:23:43 GMT'
}]};