Ember AppKit と ES6 構文を使用してデータが埋め込まれたモデルを作成しようとしていますが、少し混乱しています。
モデルにデータを埋め込む方法を説明するこの記事を見つけました: https://github.com/emberjs/data/blob/master/TRANSITION.md#rest-adapter-and-serializer-configuration
しかし、これを自分の範囲に適用する方法がわかりません。アダプタに「マップ」を追加して、属性を埋め込むように指定する必要がありますが、方法がわかりません。
これは私が持っているものです:
アダプター/item.js
export default DS.RESTAdapter.extend({
namespace: 'path/to/api/json'
});
ここにマップを追加するには??
モデル/item.js
var attr = DS.attr,
belongsTo = DS.belongsTo;
export default DS.Model.extend({
name: attr('string')
width: belongsTo('valueUnit'),
height: belongsTo('valueUnit'),
weight: belongsTo('valueUnit')
});
ここでは、次のようになるはずだと思います。
export default DS.Model.extend({
name: attr('string')
width: belongsTo('valueUnit', {embedded: 'always'}),
height: belongsTo('valueUnit', {embedded: 'always'}),
weight: belongsTo('valueUnit', {embedded: 'always'})
});
models/value-unit.js
var attr = DS.attr;
export default DS.Model.extend({
value: attr('number')
unit: attr('string')
});
そして、これは私がサーバーから得たものです:
{
"items": [
{
"id": "123456789",
"width": {
"value": 150,
"unit": "m"
},
"height": {
"value": 5.3,
"unit": "ft"
},
"weight": {
"value": 12,
"unit": "lb"
}
}
]
}
ありがとう