ember.js - Sideloads data correctly (using custom adapter) - JSBIN inside -
(jsbin) (jsbin output) so, have following model , load data:
app.list = ds.model.extend({ name: ds.attr('string') }); app.user = ds.model.extend({ username: ds.attr('string'), users: ds.belongsto('app.list') // line correct? }); app.list.reopen({ users: ds.hasmany('app.user') });
i have own custom adapter configuration:
ds.socketadapter.configure('app.user', {sideloadas: 'users'} );
i boostrap model following payload:
{ "list" : {"id" : 1, "name" : "nome", "users" : [1,2] }, "users": [ { "id":1, "username": "user1", "users": 1 }, { "id":2, "username": "user2", "users": 1 } ] }
from console type:
obj = ' { "list" : {"id" : 1, "name" : "nome", "users" : [1,2] }, "users": [{ "id":1, "username": "user1", "users": 1 },{ "id":2, "username":"user2", "users" : 1}] } '; obj = json.parse(obj); ds.get('defaultstore').load( app.list, obj); var l_len = app.list.find().get('length'); var u_len = app.user.find().get('length'); console.log( ">>>>>>> "+ l_len + "record(s) " +u_len + "record(s)");
but seems no data loaded. testing model console. using ember-data revision 12. wrong in code?
ps socketadapter extends restadapter. should boostrap data inside custom adapter? if yes, don't know put code (if inside findmany
, findall
redefinition). help!
(jsbin) (jsbin output)
reading tip, unable perform loading of json. think it's incorrect.
so solved in way, using workaround: jsbin output
var obj = { "lists" : [ { "id": 1, "name" : "listone", "user_ids" : [1,2] }, { "id": 2, "name" : "listtwo", "user_ids" : [3,4] } ], "users": [ { "id": 1, "username": "user1", "list": 1 }, { "id": 2, "username": "user2", "list": 1 }, { "id": 3, "username": "user3", "list": 2 }, { "id": 4, "username": "user4", "list": 2 } ] }; var store = ds.get("defaultstore"); store.load(app.list, obj); var adapter = store.adapterfortype(app.list); adapter.didfindmany(store, app.list, obj);
if loading single record, can use didfindrecord
instead of didfindmany
. hope things change in next revision.
Comments
Post a Comment