1
votes

I'm having some registering a new adapter on DS.Store. To give you some context about what I'm trying to accomplish... Some of the Models in my ember app need to access different APIs, so I am not able to use a single RESTAdapter. Instead, what I'm trying to do is create multiple Adapters (one for each API that I need to hit). My plan is to have one DS.Store for the whole application, and associate my custom Adapters with the correct Models. I have been trying to accomplish this by using DS.Store.registerAdapter, but I'm getting an error that says that "registerAdapter" cannot be found on the DS.Store object.

Here is my code that I'm working with:

    /* FILE: adapters/store.js: */
    import AnalyticsAdapter from 'appkit/adapters/analytics';
    import MetricsModel from 'appkit/models/metrics';

    // This line is the one that is throwing the error...
    DS.Store.registerAdapter(MetricsModel, AnalyticsAdapter);
    var Store = DS.Store.create();
    export default Store;
    /* END adapters/store.js */


    /* FILE: adapters/analytics.js: */
    var AnalyticsAdapter = DS.Adapter.extend({});
    export default AnalyticsAdapter;
    /* END adapters/analytics.js */


    /* FILE: models/metrics.js: */
    import AnalyticsAdapter from 'appkit/adapters/analytics';
    var MetricsModel = Ember.Object.extend({
    startDate: null,
    endDate: null,
    revenue: 0,
    starts: 0
    });
    export default MetricsModel;
    /* END models/metrics.js */

When I try to run the above code in the browser, I get an error saying that 'registerAdapter' method is not found. I looked in Ember Data's docs, and I don't see the registerAdapter method, but almost every solution that I've found online uses this method. Does anyone have any suggestions about how I might accomplish what I'm trying to accomplish?

Thanks! - JMG

2

2 Answers

0
votes

I've never heard of registerAdapter, maybe it's old.

var AnalyticsAdapter = DS.Adapter.extend({});
export default AnalyticsAdapter;



var MetricsAdapter = AnalyticsAdapter.extend({});
export default MetricsAdapter;
0
votes