如何在 ember-engines 中使用适配器
How to use adapter in an ember-engines
正如标题所说,我在理解如何在 ember-engines 中使用适配器时遇到了一些问题。
我目前 运行 我的申请 ember@2.15
、ember-data@2.15
和 ember-engines@0.5.14
。
我已经在我的主应用程序中使用了一个适配器,但如果我试图在我的应用程序中重现一个基本适配器,页面将无限期地加载。
在我的路线中,我使用 findAll
方法调用我的适配器:
model()
{
"use strict";
console.log('In my route');
return this.get('store').findAll('my-adapter-name', {reload: true});
}
在我的适配器中,我尊重我在 in-app 适配器中使用的语法:
import DS from 'ember-data';
import Ember from 'ember';
export default DS.Adapter.extend({
findAll: function (store, type, sinceToken, snapshotRecordArray)
{
console.log("In my adapter");
return new Ember.RSVP.Promise(function (resolve, reject)
{
// I accede to my websocket service here, nothing to do with my question
});
},
/* *
* My other function, like findRecord, ect...
*/
});
如你所见,我在我的代码中添加了一些 console.log
,我可以在我的路由中访问消息,它在我的引擎中,但我无法访问我的适配器中的消息,这也在我的引擎中。
我试图在我的应用程序的适配器中放置一个 console.log
,并且正确显示了消息,所以我确定这是因为我无法访问我的引擎中的适配器,所以如果有人有想法我们应该如何在 ember-engines
中配置适配器,我们将不胜感激。
供您参考,这是一个 in-repo
引擎。
刚刚找到,这有点棘手,但是你的 models
(和 adapters
)应该在 myApp/lib/myEngine/app/models/
中,而不是在 myApp/lib/myEngine/addon/models
中。
我不知道这是不是有意为之,但这是我发现在您的 in-repo [= 中添加模型的唯一方法29=]-引擎.
编辑
这将解决 serializers
和 transform
.
的问题
正如标题所说,我在理解如何在 ember-engines 中使用适配器时遇到了一些问题。
我目前 运行 我的申请 ember@2.15
、ember-data@2.15
和 ember-engines@0.5.14
。
我已经在我的主应用程序中使用了一个适配器,但如果我试图在我的应用程序中重现一个基本适配器,页面将无限期地加载。
在我的路线中,我使用 findAll
方法调用我的适配器:
model()
{
"use strict";
console.log('In my route');
return this.get('store').findAll('my-adapter-name', {reload: true});
}
在我的适配器中,我尊重我在 in-app 适配器中使用的语法:
import DS from 'ember-data';
import Ember from 'ember';
export default DS.Adapter.extend({
findAll: function (store, type, sinceToken, snapshotRecordArray)
{
console.log("In my adapter");
return new Ember.RSVP.Promise(function (resolve, reject)
{
// I accede to my websocket service here, nothing to do with my question
});
},
/* *
* My other function, like findRecord, ect...
*/
});
如你所见,我在我的代码中添加了一些 console.log
,我可以在我的路由中访问消息,它在我的引擎中,但我无法访问我的适配器中的消息,这也在我的引擎中。
我试图在我的应用程序的适配器中放置一个 console.log
,并且正确显示了消息,所以我确定这是因为我无法访问我的引擎中的适配器,所以如果有人有想法我们应该如何在 ember-engines
中配置适配器,我们将不胜感激。
供您参考,这是一个 in-repo
引擎。
刚刚找到,这有点棘手,但是你的 models
(和 adapters
)应该在 myApp/lib/myEngine/app/models/
中,而不是在 myApp/lib/myEngine/addon/models
中。
我不知道这是不是有意为之,但这是我发现在您的 in-repo [= 中添加模型的唯一方法29=]-引擎.
编辑
这将解决 serializers
和 transform
.