Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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
Javascript 无法创建新记录_Javascript_Ember.js_Ember Data - Fatal编程技术网

Javascript 无法创建新记录

Javascript 无法创建新记录,javascript,ember.js,ember-data,Javascript,Ember.js,Ember Data,我一直在努力使这项工作进行了无数个小时。我在网上找不到一个我能理解的答案。其他像我这样的初学者可能会遇到与我相同的问题,因此我将发布我的问题: 我的余烬应用程序中出现以下错误: 未捕获错误:断言失败:您只能将“用户”记录添加到此关系中 我想创造一个新的“康德”记录。但是我无法将“user”对象添加到新创建的Cond实例的user属性中。然而,从Chrome调试工具中,我可以看到“user”不是null或未定义。以下是崩溃的控制器: App.BookController = Ember.C

我一直在努力使这项工作进行了无数个小时。我在网上找不到一个我能理解的答案。其他像我这样的初学者可能会遇到与我相同的问题,因此我将发布我的问题:

我的余烬应用程序中出现以下错误: 未捕获错误:断言失败:您只能将“用户”记录添加到此关系中

我想创造一个新的“康德”记录。但是我无法将“user”对象添加到新创建的Cond实例的user属性中。然而,从Chrome调试工具中,我可以看到“user”不是null或未定义。以下是崩溃的控制器:

    App.BookController = Ember.Controller.extend({
      needs: 'user',
      user: Ember.computed.alias("controllers.user"),

      frequency: ['Every Minute', 'Every Hour', 'Every Day', 'Every Week', 'Every Month', 'Every Quarter', 'Every Year', 'Continuous'],
      selectedFrequency: 'Every Month',

      actions: {
        createCond: function() {

          var user = this.get('user');

          var Cond = this.store.createRecord('Cond', {
            name: this.get('name'),
            frequency: this.get('selectedFrequency'),
            description: this.get('description'),
            createdDate: new Date(),
          });

          Cond.set('user', user);  // Application crash her
          user.addObject('Conds', Cond);

          Cond.save().then(function() {  
            user.save();
            console.log('new Cond created');
          });
        }
      }

    });

谢谢你的帮助

抓取用户控制器时,模型是控制器上的一个属性

将别名更改为:

user: Ember.computed.alias("controllers.user.model"),
或更改您的访问权限:

var user = this.get('user.model');

它工作得很好。谢谢Kingpin2k!为了方便其他用户,请注意我的代码中还有一个错误:“user.addObject('Conds',Cond);”应改为:user.get('conds').pushObject(cond);