0
私はストアのリストを表示するアプリケーション(追加/編集/削除オプション付き)を作成し、ストア名をクリックすると、そのストアのアイテムのリストに移動します/編集/削除)。 モデル:Emberでモデルを変更する
{
"shopName": "someName",
"shopDetails": "someDetails",
"shopStock": [
{
"name": "foo",
"description": "bar",
"price": "555"
}
]
}
それぞれについて、
はルートが動的であるお店::として
// app/models/shop.js
import DS from 'ember-data';
export default DS.Model.extend({
shopName: DS.attr('string'),
shopDetails: DS.attr('string'),
shopStock: DS.attr('array', {
defaultValue() {
return [];
}
})
});
基本的にはモデルがあるべき
// app.router.js
Router.map(function() {
this.route('shop', function() {
this.route('stock', { path: '/:shop_id/stock' });
this.route('edit', { path: '/:shop_id/edit' });
});
});
そして、私が持っているコントローラで:
actions: {
saveItem() {
const newItem = {
name: this.get('itemName'),
description: this.get('itemDescription'),
price: this.get('itemPrice')
};
}
}
問題は、newItem
オブジェクトをモデルの配列にプッシュするにはどうすればいいですか?
'shopStock'に別のモデルを使用したくないですか? – Lux
簡単な解決策は、 'shopStock'という別のモデルを作成し、DS.hasMany( 'shopStock'、{()=> []})' ' – Sumit