1

我有一个很常见的情况,如果有一个术语,那么我不知道它。

记录具有字段: id、启用、文本等...
并具有 POST /record/enable 以启用或禁用记录,因为它调用的是服务器上的更大进程。

因此,一旦收到来自正常 POST 的回调,我想在本地将 record.enabled 更新为 true,这不应该是任何事务的一部分。并且应该直接更新。

如何做到这一点?或者对于这种要求有什么更好的选择?

4

2 回答 2

0

我认为沿着这些思路应该做的事情:

App.PObject = DS.Model.extend({
    id: DS.attr('number'),
    name: DS.attr('string'),

    nestedObject: function() {
        if (!this.nestedObj) {
            this.nestedObj = Ember.Object.create({
                active: false
            });
        }
        return this.nestedObj
    }.property()

});

正如我目前所见,模型只有在其定义为 的属性DS.attr发生变化时才是脏的。

于 2012-09-10T06:50:36.677 回答
-1

编辑:后来意识到,这个解决方案不起作用。

我的问题的正确术语是:瞬态字段
对象的瞬态字段被序列化/反序列化忽略(如 Java ORM 忽略瞬态字段)http://en.wikipedia.org/wiki/Transient_(computer_programming

我想出了一个解决办法。它真的很简单。

App.PObject = DS.Model.extend({
    id: DS.attr('number'),
    name: DS.attr('string'),
    //will not be part of Ember-data persistence, but will be populated on GET
    enabled: null
});

不属于属性的对象(记录)属性将被忽略。

于 2012-09-10T08:34:01.813 回答