Emberjs - 为现有阵列添加新记录

时间:2013-08-11 09:57:27

标签: ember.js

我正在尝试将新记录添加到已存在的对象数组中。 表单工作正常,当我按下按钮上的“添加”时,我得到了值。 但是,我无法创建新记录,我收到错误说明

  

this.init.apply(this,arguments);没有方法'CreateRecord'“。

感谢您的帮助。

这是我的代码:

    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')
        }
    ];

1 个答案:

答案 0 :(得分:1)

从控制器内部,应用程序的商店实例始终可用,因为它会被框架自动注入到每个控制器中,因此您应该像这样访问商店:

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

这应该可以正常工作,不会引起任何错误。

希望它有所帮助。