断言失败:必须使用Ember.set()而不在代码中的任何位置使用set

时间:2014-06-06 15:43:35

标签: ember.js breeze

我使用breeze js作为我的数据库层。我能够添加新记录并将其保存到数据库中。我收到以下错误"断言失败:您必须使用Ember.set()"当我尝试保存数据时。数据被保存但我的成功回调没有被触发。只需调用manager.saveChanges()就会触发错误消息。最奇怪的部分是我没有使用" set"在我的代码中的任何地方。

App.AddRoute = Ember.Route.extend({
    deactivate: function () {
        manager.rejectChanges();
    },
    model: function () {
        return manager.createEntity('OSIPI_ChangeRequest_Input');
    }
});

App.AddController = Ember.ObjectController.extend({
    init: function () {
        manager.saveChanges();
    },
    actions: {
        validate: function () {
            $('#btn-submit').trigger('click');
        },
        submit: function () {
            var self = this;
            if (manager.hasChanges()) {
                manager.saveChanges().then(function () {

                }).fail(function (msg) {

                });
            };
        }
    }
});

1 个答案:

答案 0 :(得分:1)

我明白了。

Breeze js仍在追踪变化。我只需要通过使用重置ember模型 执行manager.saveChanges();

之前的this.set(' content',null)

一切都按我的意愿运作。