将 Ember-Data 与 RestAdapter 一起使用,我能够成功地从我的服务器获取数据。我使用 Handlebar 的 {{input}} 助手显示这些数据。用例相对简单:我想让用户更新数据,并将修改持久化回服务器。
以下是我的问题:
1)当我修改屏幕上显示的数据时,Ember-Data“存储”是否会在我退出特定字段后自动更新?
2) 在监视服务器传入消息时,当我从字段中跳出或更改路由时,我看不到来自 Ember 的 http“PUT”请求。那么我该如何去触发对服务器的更新呢?
后续评论
根据 Amir 在下面的回答,我让 RestAdapter 使用“this.get('model').save();”向服务器发送“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 记录?