1

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
4

1 に答える 1