Ember.js 为什么我会遇到机上/未提交的错误?

Ember.js 为什么我会遇到机上/未提交的错误?,ember.js,Ember.js,因此,我的控制器中有一个createCharacter方法。它主要起作用,但当我尝试在forEach中填充hasMany字段时,我得到一个试图处理事件“loadedData”…错误。有人说数据是在飞行中的。一个是uncommitted(我试着做了store.commit()。这时错误切换为inflight) 这里是有问题的方法。其他任何内容都不应编辑、写入或读取这些记录(至少据我所知): 我做错了什么?您的数据是来自后端还是有固定装置?目前,只有固定装置。下一步将只是本地存储数据(也就是说,没有

因此,我的控制器中有一个
createCharacter
方法。它主要起作用,但当我尝试在
forEach
中填充hasMany字段时,我得到一个
试图处理事件“loadedData”…
错误。有人说数据是在飞行中的。一个是uncommitted(我试着做了
store.commit()
。这时错误切换为inflight)

这里是有问题的方法。其他任何内容都不应编辑、写入或读取这些记录(至少据我所知):


我做错了什么?

您的数据是来自后端还是有固定装置?目前,只有固定装置。下一步将只是本地存储数据(也就是说,没有装置或服务器数据,只是用户输入的数据)。在那之后,我将添加一个后端。等等,我很笨。在下一个版本中仍然会有一些夹具数据,然后是后端数据。
createCharacter: function(){
  var character = App.Character.createRecord({
    isEditing: true,
    (...)
  });


    //Broken
    App.Skill.find().forEach(function(item, index){
        console.log(item.get('id'));
        var newSkill = character.get('skills').createRecord({
            rank: 0,
            skill: item
        });
        //newSkill.save();
    });

    /*//Works (but doesn't make all the records I need)
    character.get('skills').createRecord({
        rank: 0,
        skill: App.Skill.find(1)
    });
    */

    /*this part is because I can't figure out how to filter records from a hasMany property. Not entirely relevant to the aforementioned issue, but it has the same problem when it's uncommented.
            var skills = character.get('skills');
    var skillsList = App.Skill.find().getEach('id');
    $.each(skillsList, function(index, value){
        var rankID = skills.createRecord({
            rank: 0,
            skill: App.Skill.find(value),
        });
        switch(App.Skill.find(value).get('type')){
            case 1:
                character.get('generalSkills').addObject(rankID);
                break;
            case 2:
                character.get('combatSkills').addObject(rankID);
                break;  
            case 3:
                character.get('knowledgeSkills').addObject(rankID);
                break;
        }
    });*/
    character.save();
}