繁体   English   中英

在Ember模板中列出获取的记录

[英]Listing fetched records in an Ember template

我正在尝试通过跟随Vic Ramons Ember Rails教程来学习余烬。

我一直在试图列出我从Rails获取的用户。

<!-- /templates/users.handlebars -->
<article id="users">
  <h2>Users</h2>
  <ul>
      {{#each user in controller }}
          <li>{{ user.email }}</li>
      {{/each}}
  </ul>
</article>

呈现/templates/users.handlebars ,但未列出任何用户。

我检查了可以的JSON输出。 当我检查Chrome中的余烬检查器选项卡时,可以在“数据”部分看到20个“用户”模型。

列出用户记录的正确方法是什么?

屏幕截图

/routes/users.js:

Tagged.UsersRoute = Ember.Route.extend({
    model: function(){ return this.store.findAll('user') }
});

/models/users.js:

Tagged.User = DS.Model.extend({
  email: DS.attr('string')
});

/controllers/users.js:

Tagged.UsersController = Ember.Controller.extend({

});

/router.js:

Tagged.Router.map(function() {
    this.resource('users', { path: '/users' })
});

适配器/application_adapter.js:

Tagged.ApplicationAdapter = DS.ActiveModelAdapter.extend({});

控制器JSON响应:

{ "users":[
    {"id":"5599bbc44d6178d3ae000000","email":"sasha@example.com"},
    {"id":"5599bbc54d6178d3ae000001","email":"roberta@example.com"},
    {"id":"5599bbc54d6178d3ae000002","email":"reyna.mayert@example.com"}
    # ...
] }
<article id="users">
  <h2>Users</h2>
  <ul>
      {{#each user in model }}
          <li>{{ user.email }}</li>
      {{/each}}
  </ul>
</article>

在模板中,通常不使用控制器的模型属性。 如果将/controllers/users.js更改为:

Tagged.UsersController = Ember.ArrayController.extend({

});

它应该工作。 因为UsersController变成了一个可与#each一起使用的ArrayController,而普通控制器则不能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM