jeudi 3 septembre 2015

emberjs v.1.13: no model data in template accessible but in ember inspector

I'm new to emberjs and I'm quite overwhelmed with it. I try to get my model data from model image to be displayed in my template index. I can see the model data in ember inspector in my browser but the template can't print it out with Handlebars.

What I noticed is that my model's records have no id. It is null.

\templates\index.hbs:

<form class="form">
    <label for="name">Name: </label>
    {{input class="form-control" type="text" value=imgurl}}
    {{input class="form-control" type="text" value=title}}
    <button class="btn btn-default" {{action "addImage"}}>Press it!</button>
</form>
{{#each image as |image|}}
    <p>{{this}}</p>
    {{else}}
    <p>Nothing!</p>
{{/each}}

\routes\image.js:

import Ember from 'ember';

export default Ember.Route.extend({
    model: function() {
        return this.store.findAll('image');
    }
});

\models\image.js:

import DS from 'ember-data';

export default DS.Model.extend({
    imgurl: DS.attr('string'),
    title: DS.attr('string') 
});

\controllers\index.js:

export default Ember.Controller.extend({
    actions: {
        addImage: function(imgurl, title) {
            var model = this.store.createRecord('image', {
                imgurl: this.get('imgurl'),
                title: this.get('title')
            });
            model.save();
        }
     }
});

\router.js:

import Ember from 'ember';
import config from './config/environment';

var Router = Ember.Router.extend({
  location: config.locationType
});

Router.map(function() {
    this.route('/', {path: '/index'});
});

export default Router;

I think my route is the problem. According to Ember Inspector there's no model tied to my index route.




Aucun commentaire:

Enregistrer un commentaire