Say that when I load the page I include a json hash of the current user's info
in an injection I load the info:
user_data = JSON.parse(user_json)
App.Model.load(user_data['id'], user_data)
container.typeInjection('controller', 'currentUser', 'controller:currentUser')
App.set('currentUserController', controller)
But I'd like to set the value of that currentUserController right here as well - App.Model.load doesn't return the actual model instance!
to get it, I need to run App.Model.find(user_data['id']) and because this is done at start up, it seems that ember-model always ends up querying the database for this model rather than using the json I've preloaded.
Because I use this model in the startup of my app I can't defer the loading - how can I get access to the loaded model without needing to do an ajax request?
I'm using Ember-model so this might be different for ember-data.
The trick is to use create (not create record!) to make an empty version of the model, and then populate it with the instance's load call. IE
That will both load the data into the version you have, and correctly call didLoad to ensure it's in the store.