I have the simplest possible Ember app in this JSBin. All I'm trying to do is find a model. Based on other SO questions, I've tried the following.
App.User.get('store').find('user', 1);
App.User.Store.find('user', 1);
I've defined App.Store
, but App.Store
returns undefined
in the console. I'm obviously missing the absolute most basic concepts of Ember models. Explain like I'm 5, please? I literally just want to return a user
object and call a property on it.
The store is injected to routes/controllers. Inside a route/controller you can use this.store.find('user', 1)
to fetch a model. But there is no global access to the store.
http://jsbin.com/aYIkAcUk/6/edit
If you feel guilty about touching the innards, which you should a bit, do not read on.
For transparency sake, you can get the store globally. After the application has initialized and is ready you can use the innards of ember to fetch it using the container lookup method. (If you need to know when the app is ready you can use the application ready
hook.
var store = App.__container__.lookup('store:main');
var user = store.find('user', 1);
http://jsbin.com/aYIkAcUk/7/edit
As of Ember Data 2, the data store is now handled as a service. Thus, to look it up globally, the statement is now:
App.__container__.lookup('service:store')
Where App
is the name of your Ember application. Kingpin2k's answer will not work with Ember Data 2.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With