0
私はこの関係をモデル化することにいくつかの困難を抱えています。誰かが助けてくれますか?Ember CLIミラージュ:2レベルのサイドロードされた応答
テナントは、App
アンアプリケーションは大きな落とし穴がサイドローディングの2つのレベルであるブランド
を有しています。次のように私の現在のAPIは、レスポンスを返す:
私のように私の モデルを設定している{
"tenants": [
{
"app_id": "app_001",
"id": 1,
"name": "Illya_no_delete",
}
],
"app": [
{
"brand_id": "brand_001",
"id": "app_001",
"name": "updated test client 2 name",
}
],
"brands": [
{
"id": "brand_001",
"app_id": "app_001"
}
]
}
:
// mirage/serializers/app.js
export default ApplicationSerializer.extend({
include: ['brand']
});
// mirage/serializers/tenant.js
export default ApplicationSerializer.extend({
include: ['app']
});
:私のように私のシリアライザを設定している
// models/tenant.js
export default Model.extend({
app: belongsTo('app'),
});
// mirage/models/app.js
export default Model.extend({
brand: belongsTo('brand'),
tenant: belongsTo('tenant')
});
// mirage/models/brand.js
export default Model.extend({
app: belongsTo('app')
});
シナリオを次のように設定しました:
// mirage/scenarios/default.js
let brand = server.create('brand');
let app = server.create('app', {brand: brand});
server.createList('tenant', 10, {app: app});
残念なことに私の生成された応答は、サイドロードされたブランドオブジェクトを返しません。
{
tenant: {
id: 1,
app_id: 2
},
apps: [
{
id: 2,
brand_id: null,
tenant_id: 1
}
]
}
私は「ブランド」を表示するために必要なことについて何か提案していますか?
(のhttp:/ /www.ember-cli-mirage.com/docs/v0.2.x/serializers/#serializeresponse-request)を実行して最終的な処理を行います。 'belongsTo'は反対側が' hasMany'であると仮定します。 –
ありがとう@SamSelikoff!本当に答えを感謝します。私は解決策があると思う。ここに投稿します。 – unicornherder