我是ember的新手,我正在尝试创建一个基本的注册表单。
相关模型:
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}.
我做错了什么?
答案 0 :(得分:0)
这是一个错误,如果您将值设置为当前设置的值(undefined
上的createRecord
),则Ember Data会错误地设置记录状态
您需要在创建记录时将值强制转换为空字符串或不设置未定义的值。
for(var key in data){
if(!data[key]) delete data[key];
}