Ember data handle errors

This commit is contained in:
Matthew Dillon 2015-04-27 10:24:42 -08:00
parent d890a62c6f
commit f902c7500b
4 changed files with 46 additions and 0 deletions

View file

@ -1,8 +1,26 @@
import DS from 'ember-data';
import Ember from 'ember';
import config from '../config/environment';
export default DS.RESTAdapter.extend({
namespace: 'api/' + config.genus,
host: config.apiURL,
coalesceFindRequests: true,
ajaxError: function(jqXHR) {
// http://stackoverflow.com/a/24027443
var error = this._super(jqXHR);
if (jqXHR && jqXHR.status === 422) {
var response = Ember.$.parseJSON(jqXHR.responseText),
errors = {};
if (response.errors !== undefined) {
var jsonErrors = response.errors;
Ember.EnumerableUtils.forEach(Ember.keys(jsonErrors), function(key) {
errors[Ember.String.camelize(key)] = jsonErrors[key];
});
}
return new DS.InvalidError(errors);
} else {
return error;
}
}
});

View file

@ -0,0 +1,4 @@
import Ember from 'ember';
export default Ember.Component.extend({
});

View file

@ -0,0 +1,3 @@
{{#each error in a}}
<div class="flakes-message error">{{error.message}}</div>
{{/each}}