ember.js - Correct usage of store.loadMany() function -


i'm trying figure out how populate table json object. my json structurated object:

{  id: 0, list: [{ username:'user_1',online:true, user:0 }, { username:'user_2',online:true, user:0 }] } 

my model defined follow:

mytalk.wuser = ds.model.extend({ list: ds.hasmany('mytalk.user') });  mytalk.user = ds.model.extend({ username: ds.attr('string'), // primary key online: ds.attr('boolean'), user: ds.belongsto('mytalk.wuser')  }); 

i using custom adapter ember-data:

ds.socketadapter = ds.restadapter.extend(mytalk.websocketconnection, { // code not relevant }  ds.socketadapter.map('mytalk.wuser', { list: {embedded: 'always'} });  ds.socketadapter.map('mytalk.user', { primarykey: 'username' }); mytalk.store = ds.store.extend({ revision: 12, adapter: ds.socketadapter.create({}) }); 

now load data. run in chrome command line the following statements:

var store = ds.get('defaultstore');  var obj =  {  id: 0, list: [{ username:'user_1',online:true, user:0 }, { username:'user_2',online:true, user:0 }] };  var store.loadmany(mytalk.wuser,obj);  var record = mytalk.wuser.find(0); record.serialize(); 

but returns no record:

> object {list: array[0]} 

thanks in advance!!

if want allow adapter deserialize embedded records (or perform custom deserialization, matter), you'll need load data through adapter rather directly store.

var store = ds.get('defaultstore'),     obj = {        id: 0,       list: [{ username:'user_1', online:true, user:0 },              { username:'user_2', online:true, user:0 }]     },     type = mytalk.wuser,     adapter = store.adapterfortype(type);  adapter.load(store, type, obj); 

Comments

Popular posts from this blog

php - Why I am getting the Error "Commands out of sync; you can't run this command now" -

linux - Does gcc have any options to add version info in ELF binary file? -

java - Are there any classes that implement javax.persistence.Parameter<T>? -