我开始通过重新创建一个我在Rails中构建的小玩具应用程序来开始学习ember.js。
我有一个表单来创建一个新记录,保存后应该重定向到同一个表单以创建下一个新记录。
我有以下ember.js代码:
App.WordsNewController = Ember.ObjectController.extend(actions:
submit: (word) ->
word.save()
@transitionToRoute "words.new"
return
)
而不是我期望的行为,这将是新记录的表单,在第一次保存之后,我将被重新路由到更新创建的记录的表单。
我确定在保存当前记录后,有一种非常简单的方法可以重新加载新记录吗?
答案 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
)