Ember - v1.7.0
Ember数据 - v1.0.0-beta.10
我使用zurb foundation 5 CSS框架显示功能创建了一个模态组件,虽然一切运行良好,但无法保存从控制器保存操作中的表单中捕获的数据。
在执行保存按钮时处理的控制器
App.PersonModalController = Ember.ObjectController.extend({
actions: {
close: function() {
return this.send( 'closeModal' );
},
save:function() {
this.get('model').save();
}
}
});
我们面临的问题是this.get('model').save()
无效,数据未发布到宁静的后端。
我不确定如何存储从表单中捕获的数据,当我console.log( this.get('model') );
它似乎是一个具有所有花里胡哨的合适模型对象时。
我尝试获取商店以向其添加模型,但这也不起作用。
:一种。附录
在搜索之后,我遇到了许多与this.get('model').save()
相关的Stack Overflow问题,看起来它并不像预期的那样有效,可能是基于上下文。
difference-between-model-save-versus-model-getstore-commit
ember-js-how-to-save-a-model
save-record-of-model-is-not-working-in-ember-data-1-0-0-beta-3
当我将代码更改为以下内容时:
App.PersonModalController = Ember.ObjectController.extend({
actions: {
close: function() {
return this.send( 'closeModal' );
},
save:function() {
var person = this.store.createRecord('person',{firstName:firstName,lastName:lastName});
person.save();
}
}
});
它将数据正确地发送到后端并保存,但我相信必须有更好的方法,因为如果你有一个表示50个字段的表单,你不会想要手动设置每个属性。 /击>
仔细检查后,虽然发布了帖子,但发布的数据是空的。
答案 0 :(得分:0)
我会尝试继续你的保存方法,就像Bart对ember-js-how-to-save-a-model问题的回答一样。
person.save().then(function() {
// SUCCESS
}, function() {
// FAILURE
});
并且在那些方法中我将console.log()结果。
我认为它与保存功能的承诺方面有关。