Hacker News new | ask | show | jobs
by mmset 4162 days ago
Hi, I will try to answer your questions:

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.

1 comments

Yes, it does help. You have set me on the right track and I will now look into the Ember.Resolver. Thank you.