Im建立一個Ember應用程序「ember-cli」:「2.4.3」,坐在Laravel/Lumen上,看起來不能正確連接電線。我也嘗試一個API服務器JSON-API兼容,所以我有權修改語法,如果這是一個問題。Ember,JSONAPIAdapter,JSONAPISerializer,findAll不可用
如果我刪除默認的出口DS.JSONAPISERIALIZER,我得到ember.debug.js:32116 TypeError: typeClass.eachTransformedAttribute is not a function
有了它,我通常得到Assertion Failed: You tried to load all records but your adapter does not implement findAll
如果我打電話getJSON(...)
從路線中,而不是要求數據的存儲,它完美地工作,並按預期顯示到視圖中。
我試過其他適配器,但我認爲是符合JSON-API我需要使用JSONAPIADAPTER。任何幫助都是極好的。
的application.js
import DS from "ember-data";
export default DS.JSONAPIAdapter.extend({
namespace: 'v1',
host: 'http://edu-api.app:8000',
});
export default DS.JSONAPISerializer.extend({
//in preparation of underscores in returned data
// keyForAttribute: function(attr) {
// return Ember.String.underscore(attr);
// },
// keyForRelationship: function(attr) {
// return Ember.String.underscore(attr);
// }
});
skill.js
import DS from 'ember-data';
var App = window.App = Ember.Application.extend();
var attr = DS.attr;
App.Skill = DS.Model.extend({
name: attr("string"),
desc: attr("string")
});
index.js
export default Ember.Route.extend({
model() {
//return this.store.findAll('skill'); //<- Assertion Failed: You tried to load all records but your adapter does not implement `findAll`
this.get('store').findAll('skill'); //<- Assertion Failed: You tried to load all records but your adapter does not implement `findAll`
//return Ember.$.getJSON('http://edu-api.app:8000/v1/skills'); //<- works, and properly displays data to view
}
});
thans勒克斯,我仔細檢查你的suggstions。我實際上已將序列化程序和適配器放在正確的文件夾中。我應該提到的一件事是我使用發生器創建了香草應用程序並將其移動到流明框架中,我懷疑這是否會產生任何差異。 – Rockman
那麼,但你希望使用'ember-cli'構建步驟和開發服務器?我建議分割你的後端和你的前端,所以你的Laravel/Lumen完全不重要。只是爲了生產,你可以一起構建它。 – Lux
「我應該提到的一件事是,我使用發生器創建了香草應用程序,並將它移動到流明框架中,我懷疑這有什麼不同。」在將其部署到Lumen之前,您必須構建您的應用程序。 – locks