i want models attribute (id) "belongsto" without forcing server call or resolving object. got memberships having user. users loaded , want make server call of users. updated ember-data 1.13.4 , old version is't working anymore.
memberships:
user: ds.belongsto('user', { async: false }), until did check if users in store:
if (this.store.peekrecord('user', parseint(membership._internalmodel._data.user)) === null) return false; but new ember-data update _data not include anymore belongsto - ids.
ends in on progress:
error while processing route: workgroups assertion failed: looked 'user' relationship on 'membership' id 21 of associated records not loaded. i really appreciate every on this.
thx
found it. based on answer:
ember-data: how tell if model's async: true relationship loaded without triggering load?
i able figure out ember-data 1.13.4 solution:
membership._internalmodel._relationships.initializedrelationships.user.canonicalstate.id this ugly. better ideas?
edit: can used extend ds.model function:
import ds 'ember-data'; export default { name: 'model-getid', initialize: function() { ds.model.reopen({ getid: function(key) { // todo(sn): support hasmany const rel = this._internalmodel._relationships.initializedrelationships; return rel && rel[key] && rel[key].canonicalstate && rel[key].canonicalstate.id; } }); } }; now it's possible on single relation:
membership.getid('organisation')
Comments
Post a Comment