javascript - EmberJS Data DS.JSONSerializer vs. DS.JSONAPISerializer -


i have emberjs project 2 model, both seams use different serializers. debugging inside emberjs data i've seen first model class of serializer "ds.jsonapiserializer" , other "ds.jsonserializer". both use same.

i didn't override serializers , respective adapters empty , extend same adapter (generaladapter).

the difference modela objects pushed ember server using request , adapter (using same adapter modelb) whereas modelb pushing store.pushpayload controller (without using adapter).

is feature or bug or totally miss understanding something?

edit:

adapter code:

app.applicationadapter = ds.adapter.extend(ds.buildurlmixin, {     namespace: rabbit.common.baseurl + 'editor-jersey',      defaultserializer: '-rest',      headers: {         accept: 'application/json'     },      findall: function(store, type, sincetoken) {         var adapter = this;         var url = this.buildurl(type.modelname, null, null, 'findall');          return new ember.rsvp.promise(function(resolve, reject) {             ember.$.getjson(url).then(function(data) {                 ember.run(null, resolve, data[type.modelname + "s"]);             }.bind(this), function(jqxhr) {                 jqxhr.then = null; // tame jquery's ill mannered promises                 ember.run(null, reject, jqxhr);             }.bind(this));         }.bind(this));       },      findrecord: function(store, type, id, snapshot) {         var url = this.buildurl(type.modelname, id, snapshot, 'findrecord');          return new ember.rsvp.promise(function(resolve, reject) {             ember.$.getjson(url).then(function(data, status, jqxhr) {                 ember.run(null, resolve, data[type.modelname]);             }, function(jqxhr) {                 jqxhr.then = null; // tame jquery's ill mannered promises                 ember.run(null, reject, jqxhr);             });         });     },      updaterecord: function(store, type, snapshot) {         var adapter = this;         var data = this.serialize(snapshot, { includeid: true });          var url = this.buildurl(type.modelname, snapshot.id, snapshot, 'updaterecord');          return new ember.rsvp.promise(function(resolve, reject) {             ember.$.ajax({                 method: 'put',                 url: url,                 data: json.stringify(data),                 contenttype: 'application/json',                 datatype: 'json'             }).then(function(data) {                 ember.run(null, resolve, data[type.modelname]);             }, function(jqxhr) {                 jqxhr.then = null; // tame jquery's ill mannered promises                 ember.run(null, reject, jqxhr);             });         });     },      createrecord: function(store, type, snapshot) {         var adapter = this;         var data = this.serialize(snapshot, { includeid: true });          var url = this.buildurl(type.modelname, null, snapshot, 'createrecord');          return new ember.rsvp.promise(function(resolve, reject) {             ember.$.ajax({                 method: 'post',                 url: url,                 data: json.stringify(data),                 contenttype: 'application/json',                 datatype: 'json'             }).then(function(data) {                 if (snapshot.isnew) {                     data[type.modelname].isnew = snapshot.isnew;                 }                 ember.run(null, resolve, data[type.modelname]);             }, function(jqxhr) {                 jqxhr.then = null; // tame jquery's ill mannered promises                 ember.run(null, reject, jqxhr);             });         });     } }); 


Comments

Popular posts from this blog

c++ - llvm function pass ReplaceInstWithInst malloc -

Cross-Compiling Linux Kernel for Raspberry Pi - ${CCPREFIX}gcc -v does not work -

java.lang.NoClassDefFoundError When Creating New Android Project -