如何在ember.js中基于模型配置RESTAdapter

时间:2013-09-09 17:30:33

标签: ember.js

我想根据模型设置RESTAdapter命名空间。我试着按照这里提供的示例:a link,但似乎registerAdapter函数不存在。

这是我的代码的外观:

AS.AnalyticsConfigRoute = Ember.Route.extend({
    model: function(param) {
        var store = this.get('store');
        return store.find('AnalyticsRun',param.runId);      
    }
});

//AS.AnalyticsRun is a model 
AS.Store.registerAdapter(AS.AnalyticsRun, DS.RESTAdapter.extend({
// implement adapter; in this case
    namespace: "/analytics/run"
}));

我想知道它是否是版本的东西。我相信我正在使用最新版本。我正在使用余烬数据

//版本:v1.0.0-beta.1-140-ga51f29c

//上次提交:a51f29c(2013-09-07 16:34:55 -0700)

和余烬:

//版本:v1.0.0

//上次提交:e2ea0cf(2013-08-31 23:47:39 -0700)

非常感谢您的帮助。感谢。

1 个答案:

答案 0 :(得分:1)

检查TRANSITION文档以获取有关“每种类型适配器”的信息:

https://github.com/emberjs/data/blob/master/TRANSITION.md#per-type-adapters

你会想做这样的事情:

// This naming will automatically hook this Adapter to the
// AS.AnalyticsRun model
AS.AnalyticsRunAdapter = DS.RESTAdapter.extend({
  namespace: "/analytics/run"
});

请注意,在调用find时,您需要使用模型名称的驼峰版本。 store.find('analyticsRun'),而非store.find('AnalyticsRun')