我正在尝试在使用cli生成的ember应用程序中使用fixture数据.我找不到我的数据.检查员显示我有一个名为post的模型,但没有任何内容.我不确定为什么它不起作用所以发布我认为相关的文件…
车型/ post.js
var Post = DS.Model.extend({ title: DS.attr('string'),content: DS.attr('string'),publishDate: DS.attr('date') }); Post.reopenClass({ FIXTURES: [ { id: 1,title: "Writing a blog in Ember",content: "I am writting a blog",publishDate: "05/22/2104" },{ id: 2,publishDate: "05/22/2104" } ] }); export default Post;
router.js
var Router = Ember.Router.extend({ location: ENV.locationType }); Router.map(function() { this.resource('posts',{ path: '/' }); }); export default Router;
路线/ index.js
export default Ember.Route.extend({ model: function() { return this.store.find('post'); } });
控制器/ posts.js
var PostsController = Ember.ArrayController.extend({ }); export default PostsController;
模板/ posts.hbs
<p>Test</p> <ul> {{#each}} <li> {{title}} </li> {{/each}} </ul>
我认为这个问题是具体的ember-cli.我之前有过使用Ember App Kit的灯具,但想与ember-cli合作.我添加了适配器并尝试更改固定装置的声明方式:
适配器/ post.js
var PostAdapter = DS.FixtureAdapter.extend({}); export default PostAdapter;
改变了模型/ post.js
var Post = DS.Model.extend({ title: DS.attr('string'),publishDate: DS.attr('date') }); Post.FIXTURES = [ { id: 1,publishDate: "05/22/2104" } ]; export default Post;
解决方法
我需要添加我的夹具适配器:
适配器/ application.js中
export default DS.FixtureAdapter.extend({});
然后它使用了reopenClass版本的灯具:
车型/ post.js
var Post = DS.Model.extend({ title: DS.attr('string'),publishDate: "05/22/2104" } ] }); export default Post;