API からクエリを実行しているモデルがあります。
App.Deal = DS.Model.extend({
name: DS.attr('string'),
value_in_cents: DS.attr('number'),
closed_time: DS.attr('date'),
user: DS.attr('object'),
company: DS.attr('object')
});
API は次のようなものを返します。
{
pagination: { page: 1, total: 10 },
entries: [ deal1, deal2, deal3, deal4 ]
}
アダプターを次のように更新しました。
App.Adapter = DS.RESTAdapter.extend({
url: 'http://api.pipelinedeals.com/api/v3',
serializer: DS.RESTSerializer.extend({
extractMany: function(loader, json, type, records) {
var root = this.rootForType(type);
var roots = this.pluralize(root);
formattedJson = {};
formattedJson[roots] = json.entries;
delete formattedJson.pagination;
this._super(loader, formattedJson, type, records);
}
})
});
newJson
必要な形式がありますが、次のエラーが発生します。
Uncaught Error: assertion failed: You tried to use a attribute type (object) that has not been registered ember-1.0.0-rc.2.js:52