Ember.js返回相同的模型

Ember.js return the same model

本文关键字:模型 js 返回 Ember      更新时间:2023-09-30

我正在Rails和Ember.js中创建一个应用程序

models/post.js

App.Post = DS.Model.extend({
  title: DS.attr('string'),
  param: DS.attr('string')
});

routes/post.js

App.PostsIndexRoute = Em.Route.extend({
  model: function() {
    return this.store.findQuery('post');
  }
});
// Esto hace falta?
App.PostsShowRoute = Em.Route.extend({
  serialize: function(model) {
    return {
      post_id: model.get('param')
    };
  }
});

router.js

App.Router.reopen({
  location: 'history'
});
App.Router.map(function() {
  this.resource('posts', function() {
    return this.route('show', {
      path: '/:post_id'
    });
  });
});

store.js

App.Store = DS.Store.extend({
  adapter: DS.RESTAdapter.reopen({
    namespace: 'api'
  })
});

templates/post.hbs

{{outlet}}

template/posts/index.hbs

<ul>
  {{#each controller}}
    <li>{{#linkTo "posts.show" this}}{{title}}{{/linkTo}}</li>
  {{/each}}
</ul>

当我访问localhost:3000/posts时我得到了一个包含posts的列表,我的数据库有7个posts,在这个视图中ember.js显示了7(li)元素,但显示了最后一个post元素。

我的数据库有:post1,post2,post3,post4,post5,post6,post7查看显示:post7,post7,post7,post8,post7

知道吗?

我在models/post.js中添加了一个字段作为id,因此post将是唯一的。这解决了我的问题。谢谢