DS.Error 中带下划线的属性名称
Attribute names with underscores in DS.Error
DS.Errors中的属性是否可以保留下划线。我的字段名称为 value=first_name。这是我从服务器返回的响应:
errors: {
first_name: ["enter name"]
}
当我 console.log 来自承诺的响应时,属性是驼峰式 (firstName)。我知道这是 Ember 的默认行为,但我想知道是否可以将错误的属性名称保留为 first_name?
我看过:
App.ApplicationSerializer = DS.RESTSerializer.extend({
keyForAttribute: function(attr) {
return Ember.String.underscore(attr).toUpperCase();
}
});
但这对响应没有任何作用,我找不到一个例子来为错误保留下划线。
我添加了一个 jsbin 来帮助显示我的问题:http://emberjs.jsbin.com/jicuvu/1/edit
在你的情况下,Ember 不应该影响错误对象属性,你只是自己添加了驼峰式(这似乎是偶然的)。 forEach 应该如下所示:
Ember.keys(jsonErrors).forEach(function(key) {
return errors[key] = jsonErrors[key];
});
但是,如果您试图摆脱 Ember 在模型上的默认驼峰式序列化,您可以在 RESTAdapter 中使用 pathForType:
var Adapter = DS.RESTAdapter.extend({
...
pathForType: function(type) {
return Ember.String.underscore(type);
}
...
});
DS.Errors中的属性是否可以保留下划线。我的字段名称为 value=first_name。这是我从服务器返回的响应:
errors: {
first_name: ["enter name"]
}
当我 console.log 来自承诺的响应时,属性是驼峰式 (firstName)。我知道这是 Ember 的默认行为,但我想知道是否可以将错误的属性名称保留为 first_name?
我看过:
App.ApplicationSerializer = DS.RESTSerializer.extend({
keyForAttribute: function(attr) {
return Ember.String.underscore(attr).toUpperCase();
}
});
但这对响应没有任何作用,我找不到一个例子来为错误保留下划线。
我添加了一个 jsbin 来帮助显示我的问题:http://emberjs.jsbin.com/jicuvu/1/edit
在你的情况下,Ember 不应该影响错误对象属性,你只是自己添加了驼峰式(这似乎是偶然的)。 forEach 应该如下所示:
Ember.keys(jsonErrors).forEach(function(key) {
return errors[key] = jsonErrors[key];
});
但是,如果您试图摆脱 Ember 在模型上的默认驼峰式序列化,您可以在 RESTAdapter 中使用 pathForType:
var Adapter = DS.RESTAdapter.extend({
...
pathForType: function(type) {
return Ember.String.underscore(type);
}
...
});