It turns out there is no need to do this, and here's why:
I tried to provide a string representation of the model (" payment " for App.Payment ) to call store.findAll("payment") . However, looking at the ED source for the store , the findQuery function calls modelFor to search for the factory ( App.Payment ) from the string ( payment ), if only the factory is already provided. And the factory is easily accessible from the controller by calling this.get('model').type . There is no need to convert it to a string (and vice versa).
Here is the corresponding code from the Ember data source.
modelFor: function(key) { var factory; if (typeof key === 'string') { factory = this.container.lookupFactory('model:' + key); Ember.assert("No model was found for '" + key + "'", factory); factory.typeKey = key; } else {
chopper
source share