Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 服务器上持久化后的余烬更新id_Javascript_Node.js_Ember.js_Ember Data - Fatal编程技术网

Javascript 服务器上持久化后的余烬更新id

Javascript 服务器上持久化后的余烬更新id,javascript,node.js,ember.js,ember-data,Javascript,Node.js,Ember.js,Ember Data,我有一个将博客文章保存到服务器的应用程序,服务器为其分配一个id。然后,应用程序被发送到帖子,但我不确定在成功保存后如何更新id 我在模型上玩了didCreate事件,但似乎什么都没用 // create controller App.PostsCreateController = Ember.ObjectController.extend({ actions: { save: function() { // just before saving,

我有一个将博客文章保存到服务器的应用程序,服务器为其分配一个
id
。然后,应用程序被发送到帖子,但我不确定在成功保存后如何更新
id

我在模型上玩了
didCreate
事件,但似乎什么都没用

// create controller
App.PostsCreateController = Ember.ObjectController.extend({
    actions: {
        save: function() {
            // just before saving, we set the creationDate
            this.get('model').set('creationDate', new Date());

            // create a record and save it to the store
            var newPost = this.store.createRecord('post', this.get('model'));

            newPost.save();

            // redirects to post itself
            this.transitionToRoute('post', newPost);
        }
    }
});

// model
App.Post = DS.Model.extend({
    title:          DS.attr(),
    post_content:       DS.attr(),
    tags:           DS.attr(),
    creationDate:   DS.attr()
});

从服务器获取
id
的正确方法是什么?如果这有什么不同的话,它就是一个节点服务器。

您的服务器只需要返回id和保存的数据,然后模型就会更新,以使用该id。在您的情况下,类似这样的情况:

{
    post: {
        id: 1,
        title: 'Rails is omakase',
        post_content: 'Loremipsum...'
    }
}

你说得对。我将模型发送回客户机,但我没有首先为Ember格式化它。谢谢