找不到Ember数据寄存器适配器

时间:2013-12-18 03:26:09

标签: javascript ember.js ember-data

我正在DS.Store上注册新的适配器。为了给你一些关于我正在努力实现的内容......我的ember应用程序中的一些模型需要访问不同的API,因此我无法使用单个RESTAdapter。相反,我正在尝试创建多个适配器(每个API需要一个)。我的计划是为整个应用程序安装一个DS.Store,并将我的自定义适配器与正确的模型相关联。我一直试图通过使用DS.Store.registerAdapter来实现这一点,但是我收到一条错误,指出在DS.Store对象上找不到“registerAdapter”。

以下是我正在使用的代码:

    /* 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 */

当我尝试在浏览器中运行上面的代码时,我收到一条错误消息,指出找不到'registerAdapter'方法。我查看了Ember Data的文档,但我没有看到registerAdapter方法,但我在网上找到的几乎所有解决方案都使用了这种方法。有没有人对我如何完成我想要完成的任务有任何建议?

谢谢! - JMG

2 个答案:

答案 0 :(得分:0)

我从未听说过registerAdapter,也许它已经过时了。

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



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

答案 1 :(得分:0)