Emberアプリ「ember-cli」をビルドしています:「2.4.3」、Laravel/Lumenに座って、ワイヤを正しく接続しているようです。 APIサーバーJSON-APIにも準拠しようとしているので、問題がある場合は構文を変更するアクセス権があります。私はルートの中から、代わりにデータのための店を呼び出すgetJSON(...)
を呼び出す場合Ember、JSONAPIAdapter、JSONAPISerializer、findAll not available
私は輸出のデフォルト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
を取得しますそれは完全に動作し、期待どおりにビューに表示されます。
私は他のアダプターを試しましたが、私は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私はあなたが主ember-cli
を理解する問題があると思う
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
}
});
sluxよりも、あなたの口実を厳密に守っています。私は実際にシリアライザとアダプタを正しいフォルダに持っています。私が言及しておかなければならないことは、私が発電機を使ってバニラアプリを作り、これをルーメンフレームワークに移したということです。 – Rockman
まあ、 'ember-cli'ビルドステップと開発サーバーを使いたいですか?バックエンドとフロントエンドを分割することをお勧めしますので、Laravel/Lumenはまったく問題ありません。制作のためだけに、一緒に構築します。 – Lux
"私が言及しておきたいことは、発電機を使ってバニラアプリを作り、これをルーメンフレームワークに移したということです。 Lumenに展開する前にアプリを構築する必要があります。 – locks