私は最初の Ember アプリに取り組んでおり、次の静的 JSON オブジェクトを返すルートで希望どおりに表示するようになりましたmodel()
。
element: {
name: "First Element",
divisions: [{
name: "First Division",
sets: [{name: "Set 1"},{name: "Set 2"},{name: "Set 3"}]
}, {
name: "Second Division",
sets: [{name: "Set 1"},{name: "Set 2"},{name: "Set 3"}]
}]
}
今、私は Ember Data + Mirage を使用するようにリファクタリングしようとしていますが、ひどい時間を過ごしています。
これが私のindex.js
ルートです
export default Ember.Route.extend({
model() {
return this.store.find('element', 1);
},
Mirage を次のようにセットアップした場合config.js
:
this.get('/elements', function() {
return {
elements: [
{
id: 1,
name: 'First Element',
divisions: [1, 2]
}
]
}
});
次に、次のエラーが表示されます。
Your Ember app tried to GET '/elements/1', but there was no route defined to handle this request.
Mirage を次のようにセットアップした場合config.js
:
this.get('/elements/1', function() {
return {
id: 1,
name: 'First Element',
divisions: [1, 2]
}
});
次に、次のエラーが表示されます。
22:46:40.883 "Error while processing route: index" "Assertion Failed: normalizeResponse must return a valid JSON API document:
* One or more of the following keys must be present: "data", "errors", "meta"." "EmberError@http://localhost:4200/assets/vendor.js:25582:15
編集:
したがって、これは述べられている問題の解決策ではありませんが、私はこれを乗り越えました。私は Pretender をあきらめ、次の優れたチュートリアルに従って実際の Rails サーバーの作成を再開しました: http://emberigniter.com/modern-bridge-ember-and-rails-5-with-json-api/
私はこの方法でやりたいことをすべて行うことができました。これを製品アプリにしたい場合は、はるかに近いです.