Latest Ember + Data

by MikeAski

HTML

<script src="https://github.com/downloads/emberjs/ember.js/ember-latest.js"></script>
<script src="https://github.com/downloads/emberjs/data/ember-data-latest.js"></script>
<script type="text/x-handlebars" data-template-name="person">
    Name: {{name}} {{status}}
    
    Friends:
    <ul>
        {{#each friends}}
            <li>{{name}} ({{status}})</li>
        {{/each}}
    </ul>
</script>

JavaScript

App = Ember.Application.create();

App.PersonController = Ember.ObjectController.extend();

App.PersonView = Ember.View.extend({
    templateName: 'person'
});

App.Person = DS.Model.extend({
    name: DS.attr('string'),
    status: DS.attr('string', { default: 'sleeping' }),
    friends: DS.hasMany('App.Friend'),
    
    friendsCount: function() {
        return this.getPath('friends.length');
    }.property('friends.@each')
});

App.Friend = DS.Model.extend({
});


App.Person.FIXTURES = [{
    id: 1,
    name: 'Kermit',
    friends: []
}];
App.Friend.FIXTURES = [];
App.store = DS.Store.create({
    revision: 4,
    adapter: DS.fixtureAdapter
});

App.PersonView.create({
    controller: App.PersonController.create({
        content: App.Person.find(1)
    })
});