モデル「Article」の全レコード(5個程度)を削除したい。私はそのようにやっています:
CMS.ArticlesController = Em.ArrayController.extend
deleteAll: ->
@get("content").forEach (article) ->
article.deleteRecord()
ただし、実行中に、3 つの記事の後に次のように表示されます。
Uncaught TypeError: Cannot call method 'deleteRecord' of undefined
ただし、少し遅延を使用すると機能します。
CMS.ArticlesController = Em.ArrayController.extend
deleteAll: ->
@get("content").forEach (article) ->
setTimeout( (->
article.deleteRecord()
), 500)
何故ですか?
(私は Ember.js-rc.1 と Ember Data rev 11 を @rpflorence と一緒に使用してember-localstorage-adapter
いますが、まだ呼び出していないので、それは問題ではないと思いますcommit()
...)
更新 1
それが以下でも動作することがわかりましたEmber.run.once
...
更新 2
GitHub の問題を開きました: https://github.com/emberjs/data/issues/772