余烬在提交表单时 DS.Store 错误



我是余烬的新手,我正在尝试创建一个基本的注册表单。

相关型号:

App.NewUser = DS.Model.extend({
  user_name: DS.attr('string'),
  password: DS.attr('string'),
  confirm_password: DS.attr('string'),
  email: DS.attr('string'),
  first_name: DS.attr('string'),
  last_name: DS.attr('string'),
});

相关控制器:

App.SignupController = Ember.ArrayController.extend({
  actions: {
    signup: function() {
        var data = this.getProperties('first_name', 'last_name', 'email', 'user_name', 'password', 'confirm_password');
        var newUser = this.store.createRecord('newUser', data);
        newUser.save();
    },
  },
});

执行"注册"操作时,出现以下错误:

Error: Attempted to handle event `didSetProperty` on <App.NewUser:ember332:null> while in state root.deleted.saved. Called with {name: last_name, oldValue: undefined, originalValue: undefined, value: undefined}.

我做错了什么?

这是一个

错误,如果您将值设置为当前设置的值(undefined createRecord),则 Ember Data 会错误地设置记录状态

您需要将值

强制转换为空字符串,或者在创建记录时不设置未定义的值。

for(var key in data){
   if(!data[key]) delete data[key];
}

http://emberjs.jsbin.com/OxIDiVU/124/edit

https://github.com/emberjs/data/issues/1648

最新更新