mercredi 20 mai 2015

Embjers store.createRecord or store.push not updating view

I'm trying to create a new record and push it into the store. I can persist it just fine (and i'll push to the store after successfully persisting, once i figure this out), but the view/template isn't being refreshed. I know persistence works because, if I refresh the entire page, the new record appears.

I also tried this.store.push(), and nothing happens. I've looked around and everyone seems to be using filter() but only on a child set of records in a parent controller...

Thanks in advance, i have feeling its something really basic.

route/projects

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

controllers/projects

export default Ember.ArrayController.extend({
    actions: {
        createProject: function() {
            var title = this.get('newProjectTitle');
            var description = this.get('newProjectDescription');
            if (!title.trim()) { return; }

            // Create the new Project model
            var project = this.store.createRecord('project', {
                title: title,
                description: description
            });

            project.save();    
            this.set('newProjectTitle', '');
            this.set('newProjectDescription', '');
        }
    }
});

projects.hbs

<div class="form-group">
    {{input type="text" class="form-control" placeholder="title" value=newProjectTitle}}
    {{input type="text" class="form-control" placeholder="description" value=newProjectDescription action="createProject"}}
    </div>

    <button class="btn btn-xs btn-success" {{action 'createProject'}}>Create this Project</button>

    <ul class="list-group">
        {{#each project in model}}
            {{#link-to 'project' project}}
            <li class="list-group-item">
                {{project.id}} - {{project.title}}
            </li>
            {{/link-to}}
        {{/each}}
    </ul>




Aucun commentaire:

Enregistrer un commentaire