ajax错误后无法在对象上设置只读属性“errors”

ajax错误后无法在对象上设置只读属性“errors”,ajax,ember.js,ember-data,Ajax,Ember.js,Ember Data,为了显示来自服务器的错误消息,使用以下代码: var onFail = function(result) { Ember.Logger.debug("ERROR CustomersCreateController"); var json = result.responseJSON; Ember.Logger.debug(json['errors']); self.set("errors", json['errors']);

为了显示来自服务器的错误消息,使用以下代码:

    var onFail = function(result) {
        Ember.Logger.debug("ERROR CustomersCreateController");
        var json = result.responseJSON;
        Ember.Logger.debug(json['errors']);
        self.set("errors", json['errors']);
    };

    model.save().then(onSuccess, onFail);
但当我收到服务器的响应时:

{"errors":[{"email":"O campo [email] precisa ser informado"}]};
尝试设置错误时引发错误。。。有问题吗? 顺便说一句,我正在从服务器发送一个422错误

编辑1 我看到它跳过了默认错误功能,这是唯一的希望吗

编辑2 调整EDIT1中的解决方案以使用它,但是余烬应该有更简单的解决方案

    var onFail = function(result) {
        Ember.Logger.debug("ERROR CustomersCreateController");

        var json = result.responseJSON;
        self.set( "requestMessages", {});

        result.responseJSON["errors"].forEach(function(error_obj) {
            Ember.Logger.debug(error_obj.field + '='+ error_obj.message );
            self.set('requestMessages.' +error_obj.field, error_obj.message);
        });
    };
在模板上

    <div {{bind-attr class=":form-group requestMessages.name:has-error"}} >
        <label for="name" class="col-sm-2 control-label">Nome</label>
        <div class="col-sm-10">
            {{input type="text" class="form-control" value=name}} {{#if
            requestMessages.name}} <span class="help-block">{{requestMessages.name}}</span>
            {{/if}}
        </div>
    </div>

我认为回应的形式应该是: {错误:{email:[O campo[email]precisa ser informado]}

每个酒店?您可以返回每个属性的错误消息数组。您可以在模板中循环返回error.email。错误对象将在余烬模型上设置