0

我正在使用 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 不是我想要使用的。

我该怎么做?

4

1 回答 1

1

window.location =也许?你可能想等到回复?如果你这样做了,我认为 ember-data 很快就会变成基于 promise 的,或者 master 可能已经是,不太确定。

如果还没有,您可以addObserver设置的id属性,newPlan当它发生变化时,设置window.location

于 2013-05-03T16:58:14.383 回答