first of all, I am total noob when it comes to OOP in
JS, this
is new to me so treat me like a noob.
I am building my first ember.
js application and I am stuck (not the first time but I would get unstuck by myself, this
is a tough one though).
I have two models:
forms
entries
Entries
is of course in (one to many) relationship to forms, so each form can have as many properties.
Form properties:
id : DS.attr( 'number' ),
title : DS.attr( 'string' ),
views : DS.attr( 'number' ),
conversion : DS.attr( 'number' ),
entries : DS.hasMany( 'entry' )
Entry properties:
id : DS.attr( 'number' ),
parent_id: DS.belongsTo( 'form' )
Now, I have forms route that displays all forms in tabled view, and each table row has some info like form id, name etc. and that works great.
What I wanted to do
is display the number of entries each form has. I figured I should do that via controller, so here
is my controller now:
// Form controller
App.FormController = Ember.ObjectController.extend({
entriescount: function() {
var entries = this.get( 'store').find( 'entry' );
return entries.filterBy( 'parent_id', this.get( 'id' ) ).get( 'length' );
}.property( '
[email protected]_id')
});
Now for some reason, when I use {{entriescount}} in {{#each}} loop, this returns nothing. It also returns nothing in single form route. Note that in both cases, {{title}} for example works.
I am wondering, am I going the right way by using controller for this, and how do I get controller to output the data.
Thanks