Ember.js过渡到创建新记录,而不是更新上次保存的记录

时间:2014-06-02 16:41:50

标签: ember.js

我开始通过重新创建一个我在Rails中构建的小玩具应用程序来开始学习ember.js。

我有一个表单来创建一个新记录,保存后应该重定向到同一个表单以创建下一个新记录。

我有以下ember.js代码:

App.WordsNewController = Ember.ObjectController.extend(actions:
  submit: (word) ->
    word.save()
    @transitionToRoute "words.new"
    return
)

而不是我期望的行为,这将是新记录的表单,在第一次保存之后,我将被重新路由到更新创建的记录的表单。

我确定在保存当前记录后,有一种非常简单的方法可以重新加载新记录吗?

1 个答案:

答案 0 :(得分:1)

转换到已经在视图中的路线,再次赢得模型挂钩(因为它假设您已经拥有该模型)并且不会做太多,因为该模型/视图已经在页面上。

您的代码可能如下所示:

App.WordsNewRoute = Em.Route.extend({
  model: function(){
    return this.store.create('word');
  }
});

您需要手动换出模型。如果您已经在路线上,那么过渡并非必要。

App.WordsNewController = Ember.ObjectController.extend(actions:
  submit: (word) ->
    word.save()
    @set 'model', store.createRecord('word')
    return
)