1

Document モデルのタイトル フィールドにバインドされた Ember.TextField があります。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

ただし、Ember Data の後に TextField にデータを入力すると、次のsaveエラーがスローされます。

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}

私は何を間違っていますか?

4

1 に答える 1

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
于 2013-02-03T16:13:32.553 に答える