ページの読み込みは、ユーザーがユーザーのプロフィールを表示しているときに開始されます。そして、彼はいくつかのアクションを実行し、私のコードは ajax 呼び出しを実行してユーザー タイプを更新します-
App.UserController = Ember.ObjectController.extend
convert: ->
$.get '/api/user/convert_to_client/' + id, (response) ->
self.set('user_type', response.user.user_type)
しかし、ユーザー リスト テーブルに移動すると、Ember は UsersRoute からすべてのユーザーを取得しようとします。
module.exports = App.UsersRoute = Em.Route.extend
model: ->
App.User.find({}).then (response) ->
self.controllerFor('users').set('content', response)
次に、次のようなすべてのエラーが発生します。
エラー イベント `loadedData` を処理しようとしました: deleteRecord 後にオブジェクトが更新されませんでした
ここの記事で問題が説明されていると思います-
http://www.thomasboyt.com/2013/05/01/why-ember-data-breaks.html
キャッチされないエラー:
loadedData
rootState.loaded.updated.uncommitted の状態でイベントを処理しようとしました。{} で呼び出されるこれが意味することは、現在の状態ではできないことをレコードにしようとしているということです。これは、現在保存中のレコードを更新しようとしたとき、または削除されたオブジェクトのプロパティをレンダリングしようとしたときによく発生します。
ただし、逆の場合は、最初にユーザー リスト テーブルに移動し、次にユーザーのプロファイルを表示してユーザーを更新します。このエラーは発生しません。
編集:
ユーザーからの応答例:
{
users: [
{
_id: 521e1112e8c5e10fb40002a0
..
}
]
}
単一ユーザーの場合:
{
user: {
_id: 521e1116e8c5e10fb40004ca
}
}