mmset
Joined 14 years ago
Joined 14 years ago
It is all about the resolver who does this job for you.
Ember convention is to have adapter & serializer per model which comes abs brilliant when you go into later stage in your project. If you intent to have model Person Ember would expect that you provide Person(Model) , PersonSerializer ,PersonAdapter where missing will use the application default ones. Default ones are resolved with App.ApplicationAdapter, App.ApplicationSerializer .
So if you do store.find('person', 1) Ember's default resolver would try App.Person then resolve the adapter App.PersonAdapter || App.ApplicationAdapter and App.PersonSerializer || App.ApplicationSerializer.
1) Store will use the resolver to identify the class
var attr = DS.attr;
App.Person = DS.Model.extend({ firstName: attr(), lastName: attr(), birthday: attr() });
store.find('person', 1);// resolver will search in App.Person (classified name) namespace (ember-cli will do that a bit differently)
2) the application namespace where the resolver performs the lookup - check App.__container__ registry
3)That's how the resolver work it checked as stated above.
Hope this helps you.