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.