1

次のモデルとストアを使用すると、以下に示すように FIXTURES を使用してデータを正常にロードできます。

App.Item = DS.Model.extend({
   itemName: DS.attr('string'),
   strategy: DS.belongsTo('strat')
});

App.Strat = DS.Model.extend({
    stratName: DS.attr('string'),
    items: DS.hasMany('item',{async:true})

App.Store = DS.Store.extend({
    adapter: DS.FixtureAdapter
});

App.StratLeg.FIXTURES =
[
{id: 1, itemName: 'I1', strategy: 1},
{id: 2, itemName: 'I2', strategy: 2},
{id: 3, itemName: 'l3', strategy: 2},
];

App.Strat.FIXTURES =
[
{id: 1, stratName: 's1', items: [1]},
{id: 2, stratName: 's2', items: [2,3]}
];


しかし、JavaScript を使用して新しいレコードを追加しようとすると、あらゆる種類のエラーが発生しました。DS.store の EmberData-API ドキュメントの例に従って、次のことを試しました。

var pushData = {
  strat: [{id: 100, stratName: "s5", items: [101]}],
    item: [{id: 101, itemName: "I5", strategy: 100}]};

this.store.push ('strat', pushData);

これにより、次のエラーが発生しました。

「'push' に渡されるハッシュに 'id' を含める必要があります。

また、さまざまなエラーが発生した store.createRecord のさまざまな化身も試しました。

これを行う適切な方法は何ですか?

4

1 に答える 1