我有一个Ember.TextField绑定到我的Document模型中的title字段。我正在使用RESTAdapter和Ember 1.0.0-pre4。
模型和控制器
App.Document = DS.Model.extend({
title: DS.attr('string')
});
App.DocumentController = Ember.ObjectController.extend({
});
App.ApplicationController = Ember.Controller.extend({
save: function() {
var doc = this.controllerFor('document'),
model = doc.get('model');
doc.store.commit();
}
]);
document.handlebars模板
{{view Ember.TextField valueBinding="title"}}
在我的控制器上调用save
方法后,它会将title
成功保存到后端,不再被视为isDirty
。
但是,如果我在save
Ember Data之后将任何数据输入TextField,则会抛出此错误:
Uncaught Error: Attempted to handle event `willSetProperty`
on <App.Document:ember262:1> while in state rootState.error.
Called with
{reference: [object Object], store: <App.Store:ember268>, name: title}
我做错了什么?
答案 0 :(得分:2)
经过一些调试后发现Rails返回的PUT 204成功代码不足以让Ember接受所做的更改。
这就是我的所作所为:
# format.json { head :no_content } # Rails default behavior
format.json { render json: @post } # Ember needs some data in return / 200 success code