RestAdapter で Ember-Data を使用すると、サーバーからデータを正常に取得できます。このデータは、Handlebar の {{input}} ヘルパーを使用して表示します。使用例は比較的単純です。ユーザーがデータを更新できるようにし、変更をサーバーに保持したいと考えています。
ここに私の質問があります:
1) 画面に表示されているデータを変更する場合、特定のフィールドからタブで移動するとすぐに、Ember-Data の「ストア」が舞台裏で自動的に更新されますか?
2) 監視サーバーの受信メッセージで、タブでフィールドの外に出たとき、またはルートを変更したときに、Ember からの http "PUT" リクエストが表示されません。では、サーバーへの更新をトリガーするにはどうすればよいでしょうか?
フォローアップコメント
以下の Amir の回答に従って、「this.get('model').save();」を使用して、RestAdapter に「PUT」リクエストをサーバーに送信させました。しかし、RestAdapter は hasMany レコードを送信しませんでした。したがって、私のモデル定義が次のようになっている場合 (「item」と「strat」の両方に ID があり、モデル定義には表示されないことに注意してください):
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})
});
「this.get('model').save()」はサーバーへの「PUT」リクエストをトリガーしましたが、送信された JSON には stratName しか含まれていませんでした。RestAdapter に hasMany レコードを送信させるにはどうすればよいですか?