ember.js - Deleting hasMany record and saving with ember-data -
i have jsbin setup issue:
http://emberjs.jsbin.com/sovub/3/edit
from example, in situations when seek delete subtitle , save, error:
attempted handle event `pusheddata` on <app.subtitle:ember563:7> while in state root.deleted.uncommitted.
if delete lastly subtitle save, it's fine. deleting first subtitle, or deleting , adding new records saving gives me error message.
is because i'm manually setting ids each subtitle during extractsingle
, so:
extractsingle: function(store, type, payload, id){ var list = payload.list var nid = 6 // subtitles var subs = list.subtitles list.subtitles = [] subs.foreach(function(item){ item.id = nid++ list.subtitles.push(item.id) item.list = list.id }) // same links payload = { list: list, subtitle: subs, link: li} homecoming this._super(store, type, payload, id) },
i've noticed subtitles attribute of payload in extractsingle
doesn't contain right model whenever error thrown. instead, contains id of subtitle record.
// id: "532", subtitles: array[2] 0: class __ember1403240151252: "ember562" __ember1403240151252_meta: object // rest of info 1: class __ember1403240151252: "ember563" __ember1403240151252_meta: object __nextsuper: undefined // rest of info // when error thrown id: "532", subtitles: array[1] 0: 6 length: 1 __proto__: array[0]
i'm not sure how should approach this, allow lone resolve it. help appreciated.
i did more research , found out ds.rootstate
( http://emberjs.com/api/data/classes/ds.rootstate.html) related state root.deleted.uncommitted
error getting.
to solve it, did dematerialize record after deleting it:
var model = this.get('model') model.deleterecord() this.store.dematerializerecord(model)
this removed records indexes (and relationships?) deleted.
ember.js ember-data
No comments:
Post a Comment