在Ember 2.4.5和Ember DATA 2.4.0中使用RESTAdapter的模型中未填充Ember错误

时间:2016-04-20 10:22:18

标签: ember.js ember-data ember-cli

我试图在Ember应用程序中处理服务器错误。

我在ember app中运行以下代码:

customization.save().catch(function (error) {
      console.log(error);
      console.log(customization.get('errors'));
      console.log(customization.get('errors.length'));
    });

我的服务器在有效负载中使用以下json回答422状态:

{  
   "errors":[  
      {  
         "code":"app.customization.validationError.duplicateCustomizationName",
         "detail":"a customization with same name already exists",
         "source":{  
            "pointer":"customization/name"
         }
      }
   ]
}

错误为InvalidError,但customization.get('errors.length')始终为0.

我在Ember 2.4.5中使用DS.RESTAdapter和DS.RESTSerializer以及Ember DATA 2.4.0。

我错过了什么?

由于

1 个答案:

答案 0 :(得分:0)

好的,我终于明白了。即使您没有使用DS.JSONAPIAdapter,source.pointer中的路径也必须采用JSONAPI样式。

发送此信息:

...
"pointer":"data/attributes/name"
...

解决了这个问题。

我认为指针中的路径是指与模型对应的实际JSON中的字段路径,但这显然是错误的。