Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 正在尝试向FIXTURE添加一个简单的项目_Ember.js - Fatal编程技术网

Ember.js 正在尝试向FIXTURE添加一个简单的项目

Ember.js 正在尝试向FIXTURE添加一个简单的项目,ember.js,Ember.js,我有一个简单的固定装置: App.User.FIXTURES = [ { userid: 1, name: 'George', email: 'george@gmail.com', bio: 'Lorem Ipsum', created: 'Jan 5, 2015' }, { userid: 2, name: 'Tom', email: 'tom@hotmail.com', bio: 'Lorem Ipsum 2', created: 'Jan 15, 2015' },

我有一个简单的固定装置:

App.User.FIXTURES = [
    { userid: 1, name: 'George', email: 'george@gmail.com', bio: 'Lorem Ipsum', created: 'Jan 5, 2015' },
    { userid: 2, name: 'Tom', email: 'tom@hotmail.com', bio: 'Lorem Ipsum 2', created: 'Jan 15, 2015' },
    { userid: 3, name: 'Mary', email: 'mary@aol.com', bio: 'Lorem Ipsum 3', created: 'Jan 25, 2015' }
];
我有一个简单的提交:(片段)

我认为这是正确的,因为我不再在createRecord上出现错误,但现在我出现了错误,有什么想法吗?我又错过了一步,只是为了把东西塞进固定装置

Uncaught TypeError: Object function () {
    if (!wasApplied) {
      Class.proto(); // prepare prototype...
    }
    o_defineProperty(this, GUID_KEY, undefinedDescriptor);
    o_defineProperty(this, '_super', undefinedDescriptor);

Kingpin2k是正确的,因为在UserModel本身上调用createRecord是使用Ember数据的一种旧方法。如果使用的是最新版本,则应从store对象调用
createRecord

下面是它的外观:

App.AddController = Ember.ArrayController.extend({
    actions: {
        save: function () {
            //Create a new user
            var user = this.store.createRecord('user',{ 
                 id: 4, 
                 userid: 4, 
                 name: 'Created person', 
                 email: 'sdh', 
                 bio: 'my bio', 
                 created: '6543456' 
            });
            // Saves the new model, but not needed if you're just using FIXTURES
            // Making the call shouldn't throw any errors though and is used in the Guide
            user.save();
            // Now you can find your record in the store
            this.store.find('user', 4).then(function(user){
                console.info(user); 
            });
        }
    }
});
这是在以下设备上测试的:

DEBUG: ------------------------------- 
DEBUG: Ember      : 1.6.0-beta.1+canary.24b19e51
DEBUG: Handlebars : 1.0.0 
DEBUG: jQuery     : 2.0.2 
DEBUG: ------------------------------- 
我建议您阅读《灰烬入门指南》中的“创建新模型实例”部分,因为它们涵盖了以下主题:


您更改了什么导致了错误?您需要在新记录上调用save以将其实际保存回存储区
var user=App.user.createRecord({id:4,userid:4,name:'Created person',email:'sdh',bio:'my bio',Created:'6543456'});user.save()参见指南的这一部分:谢谢Sarus。对这一点完全陌生,并试图尽快掌握这一点。你的东西起作用了,但我猜我在保存时出错了?无法加载XMLHttpRequestfile:///G:/users. 请求已重定向到'file:///G:/users/,这是不允许用于需要飞行前的跨源请求的。只需尝试将新项目放回存储区,以便更新UI中的我的列表。没有JSON或花哨的东西,只是本地的东西。如果你是纯本地的,不要调用save,将其注入存储区是不必要的。这是一种使用ember数据的旧方法,你使用的是哪个版本?谢谢Sarus,我只是使用了ember.js网站上的初学者软件包。调试:-------------------------------------ember-1.4.0.js:3461调试:ember:1.4.0 ember-1.4.0.js:3461调试:ember数据:1.0.0-beta.7.f87cba88 ember-1.4.0.js:3461调试:把手:1.1.2 ember-1.4.0.js:3461调试:jQuery:1.10.2 ember-1.4.0.js:3461调试:-----------------这是我得到错误的保存位置:无法加载XMLHttpRequestfile:///G:/users. 请求已重定向到'file:///G:/users/,这不允许用于需要飞行前的跨源请求。出于好奇,您是否在不使用web服务器的情况下运行starter软件包?无论如何,正如kingpin2k所提到的,您不需要调用
save
就可以将项目实际保存到
存储中,尽管新记录不会被保存。是的,没有web服务器。我用的是入门包,我猜周五是1.4.0,现在是1.5.0,还是一样的错误。我启动了Javascript:save()返回XMLHttpRequest错误,我只是尝试更新fixture,使其包含一个新项,然后刷新视图。删除也是一样,但我想如果我弄清楚了保存的方法,删除就会随之而来。我想问题是你没有在实际的Web服务器上托管你的项目,因为它试图访问Chrome不允许的本地文件系统。如果你在windows上运行apache服务器,你可能想看看WAMP之类的东西。我明白了。是的,我只是在file:///G:/EmberProject/index.html. 我在VisualStudio中,我将做一个适当的web:)
DEBUG: ------------------------------- 
DEBUG: Ember      : 1.6.0-beta.1+canary.24b19e51
DEBUG: Handlebars : 1.0.0 
DEBUG: jQuery     : 2.0.2 
DEBUG: -------------------------------