我正在使用Rails API将标准Rails应用转换为Ember应用。这是一个增量过程,因此短期内用户将在站点的新部分(使用Ember)和旧的遗留视图之间来回切换。
有时,在ember应用中,用户会创建一个新的“计划”模型
计划/ new.hbs
<button {{action createNewPlan}}>Create Plan</button>
成功创建计划后,我想转换到OLD Rails应用程序的计划/展示视图。
我已经在plans_new_router中定义了createNewPlan操作,而不是控制器,因为我知道路由器应该负责跟踪应用程序状态。
plans_new_router.js
App.PlansNewRoute = Ember.Route.extend({
events: {
createNewPlan: function() {
var newPlan = this.controllerFor('plans_new').get('content');
newPlan.get('transaction').commit();
// how can I transition to plans/show in the old rails app ????
}
}
}
我想在模型保存后转换到旧rails应用程序上的plans_show视图。我怎样才能做到这一点? transitionTo需要一个余烬路线,我接受它。但我想要做的是使用新的计划ID将brownser重置为相应的rails URL。我猜想转换不是我想要使用的。
我该怎么做?
答案 0 :(得分:1)
window.location =
?你可能想等到响应虽然?如果你这样做,我认为ember-data很快就会变成基于承诺的,或者master可能已经是,不太确定。
如果还没有,您可以addObserver
转到id
的{{1}}属性,当它发生变化时,设置newPlan