2015-01-04 3 views
2

Я пытаюсь определить свой собственный сериализатор, расширив DS.JSONSerialzer.get не определяется при попытке расширения JSONSerializer

Я выбираю функцию сериализации без изменений, но когда я запускаю Ember, я получаю эту ошибку:

ReferenceError: get is not defined

Это мой код:

import DS from 'ember-data'; 

export default DS.JSONSerializer.extend({ 
    serialize: function(record, options) { 
     var json = {}; 
     if (options && options.includeId) { 
      var id = get(record, 'id'); 
      if (id) { 
       json[get(this, 'primaryKey')] = id; 
      } 
     } 

     record.eachAttribute(function(key, attribute) { 
      this.serializeAttribute(record, json, key, attribute); 
     }, this); 
     record.eachRelationship(function(key, relationship) { 
      if (relationship.kind === 'belongsTo') { 
       this.serializeBelongsTo(record, json, relationship); 
      } else if (relationship.kind === 'hasMany') { 
       this.serializeHasMany(record, json, relationship); 
      } 
     }, this); 
     return json; 
    }, 
}); 

я не изменял кода. Это оригинал. Почему вдруг неожиданно не определено? Он импортируется в строке 1 в исходном файле JSONSerialiser

Помогите мне?

ответ

2

У них есть get, определенные в области при создании сериализатора, но не выходящие за пределы их объема в ваши файлы.

var get = Ember.get; 
var isNone = Ember.isNone; 
var map = Ember.ArrayPolyfills.map; 
var merge = Ember.merge; 

Либо заменить все get методов с Ember.get или определить get быть Ember.get

+0

Спасибо. Это работает! – Scandinave

Смежные вопросы