尝试使表单重置功能正常工作。此实现只运行一次,但之后将无法再次运行。
第二次触发取消事件时,会发生以下错误:
未捕获错误:在状态rootState.deleted.saved中尝试处理事件willSetProperty
。使用{reference:[object Object]调用,存储:,name:name}
App.NewPageRoute = Ember.Route.extend
model: (params) ->
transaction = @get('store').transaction()
transaction.createRecord(App.Page, siteId: params.site_id)
App.NewPageController = Ember.ObjectController.extend
submit: ->
@content.get('transaction').save()
cancel: ->
@content.get('transaction').rollback()
答案 0 :(得分:0)
来自DS.Transaction::rollback
的文档:
回滚事务后,属于它的任何记录 将返回商店的默认交易,以及当前 交易不应再次使用。
一个简单的解决方法是在回滚后创建一个新的事务。
cancel: ->
siteId = @get('model.siteId')
@content.get('transaction').rollback()
transaction = @get('store').transaction()
newModel = transaction.createRecord(App.Page, siteId: siteId)
@set('model', newModel)