我正在使用 Rails API 将标准 Rails 应用程序转换为 Ember 应用程序。这是一个增量过程,因此短期内用户将在站点的较新部分(使用 Ember)和旧的旧视图之间来回切换。
在某一时刻,在 ember 应用程序中,用户创建了一个新的“计划”模型
计划/new.hbs
<button {{action createNewPlan}}>Create Plan</button>
成功创建计划后,我想转换到旧 Rails 应用程序上的计划/显示视图。
我在 plan_new_router 中定义了 createNewPlan 操作,而不是在控制器中,因为我知道路由器应该负责跟踪应用程序状态。
plan_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 需要一个 ember 路由,我接受它。但我想做的是将browser重置为具有新计划ID的适当rails URL。我猜transitionTo 不是我想要使用的。
我该怎么做?