持久存储在服务器上后的Ember更新ID

时间:2013-11-17 20:33:55

标签: javascript node.js ember.js ember-data

我有一个应用程序可以将博客文章保存到服务器,服务器会为其分配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的正确方法是什么?如果这会产生影响,那么它就是Node服务器。

1 个答案:

答案 0 :(得分:3)

您的服务器只需返回带有已保存数据的ID,并且模型将更新,以使用该ID。在你的情况下,像这样:

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