【发布时间】:2014-07-24 11:46:18
【问题描述】:
我正在使用 Ember Data,但我似乎无法让模型的“错误”属性填充来自我的 REST API 的错误消息。我非常关注本指南中的示例:
http://emberjs.com/api/data/classes/DS.Errors.html
我的应用如下所示:
window.App = Ember.Application.create();
App.User = DS.Model.extend({
username: DS.attr('string'),
email: DS.attr('string')
});
App.ApplicationRoute = Ember.Route.extend({
model: function () {
return this.store.createRecord('user', {
username: 'mike',
email: 'invalidEmail'
});
},
actions: {
save: function () {
this.modelFor(this.routeName).save();
}
}
});
我的 API 会返回这个:
HTTP/1.1 400 Bad Request
Content-Type: application/json; charset=utf-8
Content-Length: 125
{
"errors": {
"username": ["Username is taken!"],
"email": ["Email is invalid."]
}
}
在模型上调用 save() 后,我在用户模型上看到的内容如下:
user.get('isError') // true
user.get('errors.messages') // []
即使模型正确注册了 isError 属性,我似乎也无法获取要填充的错误消息。我怎样才能让它工作?我正在开发 Ember Data 版本 1.0.0-beta.8.2a68c63a 的最新 beta 版本
【问题讨论】:
-
你在使用 ActiveModelAdapter 吗?
-
不,我使用的是默认的 DS.RESTAdapter。至少那是我认为我正在使用的。我的所有 JavaScript 代码都列在我的问题中。如果我不指定任何内容,我认为 Ember Data 默认为 DS.RESTAdapter。
标签: ember.js ember-data