我正在开发一个网站,使用nodejs作为服务器端,emberjs作为客户端,mongodb作为数据库。我有一个页面,其中创建并保存用户配置文件但数据的ID存储为未定义,除非我刷新。有没有办法解决这个问题?
答案 0 :(得分:0)
我必须看到具体的代码才能回答这个问题,但我怀疑你是不是在等待来自服务器的响应,或者你没有在模型中传递你转换到新的路线。当Ember-data从服务器获得响应时,它会自动更新。
一般流程应该是这样的:
以下是Ember方面的一个例子:
App.UserCreateController = Ember.ObjectController.extend({
actions: {
createUser: function() {
var self = this;
this.get('model')
.save()
.then(function() {
self.transitionToRoute('profile', self.get('model'));
}, function() {
alert('User not successfully saved');
});
}
}
});
另一个可能的问题是您没有按照Ember数据的预期发回数据。即您的有效负载应如下所示:
{
user: {
_id: 'lkj234l23jlk5j4l32j5lk34',
name: 'Jon Snow'
}
}
你应该让Ember知道它应该使用_id
代替:
App.ApplicationSerializer = DS.RESTSerializer.extend({
primaryKey: "_id"
});
如果这不是您的问题,请发布一些代码或提供更多详细信息。