0

既存のオブジェクトの配列に新しいレコードを追加しようとしています。フォームは正常に機能し、ボタンの「追加」を押すと、値が取得されます。ただし、新しいレコードを作成できません。次のエラーが表示されます。

this.init.apply(これ、引数); } メソッド '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')
        }
    ];
4

1 に答える 1

1

アプリのストア インスタンスは、フレームワークによってすべてのコントローラーに自動的に挿入されるため、コントローラー内から常に利用できます。そのため、次のようにストアにアクセスする必要があります。

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

これは正しく機能し、エラーは発生しません。

それが役に立てば幸い。

于 2013-08-11T10:08:03.170 に答える