dimanche 5 juillet 2015

Listing fetched records in an Ember handlebars template

I'm trying to learn ember by following along with Vic Ramons Ember Rails tutorial.

I'm stuck trying to list the users I have fetched from Rails.

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

The /templates/users.handlebars is rendered but no users are listed.

I have checked the JSON output which is ok. When I check the ember inspector tab in chrome I can see 20 'user' models in the Data section.

What is the correct way to list the user records?

screenshot

/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' })
});

adapters/application_adapter.js:

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

The controller JSON response:

{ "users":[
    {"id":"5599bbc44d6178d3ae000000","email":"sasha@example.com"},
    {"id":"5599bbc54d6178d3ae000001","email":"roberta@example.com"},
    {"id":"5599bbc54d6178d3ae000002","email":"reyna.mayert@example.com"}
    # ...
] }




Aucun commentaire:

Enregistrer un commentaire