嗨,谢谢你抽出时间回答我的问题。
我的控制器中有以下代码:
.
.
.
var project = this.store.createRecord('project', {
name: projectName,
});
project.save();
alert(project.get('id') + project.get('name'));
.
.
.
这会将记录成功添加到数据库,并自动刷新前端以反映这些更改。但是,当执行警报时,仅打印名称。
对于ID我得到null。
基本上我需要在记录成功后获取从服务器返回的id值。我检查了返回的JSON:
{"project":{"id":6,"name":"dfgdgf", "created_at":"2014-01-02T08:37:57.491Z","updated_at":"2014-01-02T08:37:57.491Z"}}
所以id字段包含在json响应中。问题是否会发生,因为服务器还返回两个在ember模型中找不到的字段(created_at和updated_at)?
非常感谢你!
编辑:
我在ember中的模型中添加了created_at
和updated_at
,当我尝试调用project.get('id');
有什么建议吗?
由于
答案 0 :(得分:2)
来自服务器的数据是异步返回的,因此需要使用回调函数和调用警报,或者使用该函数中返回的数据。
可以在以下主题中找到可能的解决方案,
is handling custom server side errors in ember-data when saving model possible
答案 1 :(得分:2)
var project = this.store.createRecord('project', {
name: projectName,
});
project.save().then(function(projectResponse) {
alert(projectResponse.get('id') + projectResponse.get('name'));
});
这肯定会起作用!! :)
答案 2 :(得分:0)
savePerson: function(hash){
return this.store.createRecord('agents/person', hash).save();
},
var hash = {
given_name : firstname,
};
this.savePerson(hash).then(function(record){
var personModelId = record.get('id');
我得到了我的那个