这在我的应用程序中失败了(来自JSONSerializer in ember-data):
transformFor: function(attributeType, skipAssertion) {
var transform = this.container.lookup('transform:' + attributeType);
Ember.assert("Unable to find transform for '" + attributeType + "'", skipAssertion || !!transform);
return transform;
}这是一个错误:

确实没有集装箱。为什么?我该给它下定义吗?多么?
这是我的适配器:
SettingsApp.ApplicationAdapter = DS.RESTAdapter.extend({
bulkCommit: false,
namespace: SettingsApp.config.API_NAMESPACE,
host: SettingsApp.apiUrl,
serializer: SettingsApp.MetaRESTSerializer.create(),
ajax: function(url, type, hash) {
var ajaxPromise = this._super(url, type, hash);
if (DEBUG) { console.log('>>>>> REQUEST > %s:%s > hash=%o ajaxPromise=%o', type, url, hash, ajaxPromise); }
ajaxPromise.then(function(json){
if (DEBUG) { console.log('>>>>> REPLY > %s:%s > %o', type, url, json); }
});
return ajaxPromise;
}
});这是序列化程序(没什么特别的):
SettingsApp.MetaRESTSerializer = DS.RESTSerializer.extend({
primaryKey: '_id',
extractMeta: function(store, type, payload) {
// TODO: standard implementation. Check with backend to implement this for good
if (payload && payload.meta) {
store.metaForType(type, payload.meta);
delete payload.meta;
}
},
});发布于 2014-02-12 12:43:47
正如此问题中所指定的,解决方案如下:
App.ApplicationSerializer = DS.RESTSerializer.extend({...});而不是在DS.RESTAdapter中实现序列化程序。
//serializer: SettingsApp.MetaRESTSerializer.create(),https://stackoverflow.com/questions/21724343
复制相似问题