Ember-Data を使用してこれを機能させるために何時間も苦労しましたが、結果は得られなかったので、Ember-Model を試してみることにしました。まだ喜びはありません。
私は次のものを持っています:
App.Item = Ember.Model.extend({
itemName: Ember.attr(),
});
App.Strat = Ember.Model.extend({
stratName: Ember.attr(),
items: Ember.hasMany('App.Item',{key: 'items', embedded: true});
App.Strat.adapter = Ember.FixtureAdapter.create();
App.Strat.FIXTURES =
[
{id: 1, stratName: 's1', items:
[{id: 1, itemName: 'I1'}]},
{id: 2, stratName: 's2', items:
[{id: 2, itemName: 'I2'},
{id: 3, itemName: 'l3'}]}
];
この時点まで、すべてがうまく機能しているように見えました。テンプレートを介してフィクスチャ データを表示できます。私がやりたいことは、ユーザーが追加のストラト レコードを追加できるようにすることです。画面に事前入力されたストラト レコードを表示し、ユーザーが変更を加えられるようにしてから、フィクスチャ データからロードされた 2 つのストラト レコードとともに保存します。私は次のことを試しました:
var dummyStrat =
{id: 100, stratName: "s5", items:
[{id: 101, itemName: "I5", strategy: 100}]};
var newStrat = App.Strat.create (dummyStrat);
newStrat.save();
これにより、次のエラーが発生しました。
TypeError: this.get(key).toJSON は関数ではありません。
しかし、これを行ってもエラーはありません:
var dummyStrat =
{id: 100, stratName: "s5"};
var newStrat = App.Strat.create (dummyStrat);
newStrat.save();
私は何を間違っていますか?