None None
None None

Reputation: 547

Emberjs - adding new record to existing array

I'm trying to add a new record to an already existing array of objects. The form works fine and when I press 'add' on the button, I get the values through. However, I'm not able to create a new record, I get an error stating

this.init.apply(this, arguments); } has no method 'CreateRecord'".

Thank you for your help.

Here's my code:

    App.Store = DS.Store.extend({
        revision: 12,
        adapter: 'DS.FixtureAdapter'
    });

    App.AddController = Ember.ObjectController.extend({
        content: Ember.Object.create(),
        addTo: function(obj){/*
            App.Store.createRecord(
                App.Post, 
                {
                        id: 3, 
                        title: 'Created person', 
                        author: 'dh2', 
                        publishedAt: new Date('12-12-2003')
                });*/                   
                alert(JSON.stringify(obj) + "\n" + obj.title);
        }
    });

    App.Post = DS.Model.extend({
        title: DS.attr('string'),
        author: DS.attr('string'),
        publishedAt: DS.attr('date')
    });

    App.Post.FIXTURES = [
        {
            id:1,
            title: "This is my title",
            author: "John Doe",
            publishedAt: new Date('12-27-2012')
        },
        {
            id:2,
            title: "This is another title",
            author: "Jane Doe",
            publishedAt: new Date('02-03-2013')
        }
    ];

Upvotes: 0

Views: 206

Answers (1)

intuitivepixel
intuitivepixel

Reputation: 23322

From inside a controller the store instance of your app is always available because it get's injected in every controller automatically by the framework, so you should access the store like this:

this.get('store').createRecord(App.Post, {...});

This should work correctly and not raise any errors.

Hope it helps.

Upvotes: 1

Related Questions