0

当模型是时,我如何在路由钩子中对模型进行get('transaction').rollback()or ?我不知道如何从钩子中访问模型。deleteRecord()deactivateisNew

应用程序.js

App.Router.map(function() {
  this.resource('users', function() {
    this.route('new');
  })
});

App.UsersNewRoute = Ember.Route.extend({
  model: function() {
    return App.User.createRecord();
  },

  activate: function() {
    this.controllerFor('users').set('newUserCreate', true);
  },

  deactivate: function() {
    this.controllerFor('users').set('newUserCreate', false);
  }
});
4

2 回答 2

3

这是在rollback()模型上执行的代码:

deactivate: function() {
  this.controllerFor('users').set('newUserCreate', false);
  if (this.currentModel.get('isNew')) {
    this.currentModel.get('transaction').rollback();
  }

特别感谢@sly7_7 解决了这个问题。

于 2013-05-07T21:02:46.677 回答
0

路由对象知道它们的控制器。您还应该能够做到这一点:

deactivate: function() {
  var model = this.get('controller.content');
  if (model.get('isNew')) {
    model.deleteRecord();
  };
};
于 2013-05-07T23:38:00.267 回答