Ember.js Ember可选查询参数

Ember.js Ember可选查询参数,ember.js,Ember.js,我需要使用可选的查询参数,尽管我在前面的文章中提到过,但我还是很难让它正常工作 我的应用程序用于发布教学课程。设置为: 用户可以发布教学会话。他们也可以申请一次教学课程 如果他们发布会话,我将使用sessions.new路由。在此路由中,模型对象返回一个具有默认设置的新会话对象 如果他们响应教学请求,我希望将教学请求ID传递给sessions.new route,以便我可以使用请求中的信息预先填充模型,并将会话链接到请求 由于我使用多页“向导”创建会话,因此sessions.new路由实际上有

我需要使用可选的查询参数,尽管我在前面的文章中提到过,但我还是很难让它正常工作

我的应用程序用于发布教学课程。设置为:

  • 用户可以发布教学会话。他们也可以申请一次教学课程
  • 如果他们发布会话,我将使用sessions.new路由。在此路由中,模型对象返回一个具有默认设置的新会话对象
  • 如果他们响应教学请求,我希望将教学请求ID传递给sessions.new route,以便我可以使用请求中的信息预先填充模型,并将会话链接到请求
  • 由于我使用多页“向导”创建会话,因此sessions.new路由实际上有多个子路由(sessions.new.wizard1、sessions.new.wizard2等),这一点很复杂
我当前的设置如下所示:

路由器:

this.route('sessions', function(){
    this.route('new', function(){
        this.route('wizard1');
        this.route('wizard1');
        this.route('wizard3');
        this.route('from-request', {path: 'from-request/:request_id'});
    })
})
该模型在sessions.new路由上定义,并在子路由之间共享

我想在“发件人请求”子路由中执行以下操作:

afterModel: function(model, transition){
    this.store.findRecord('request', transition.queryParams.request_id).then(function(request){
        model.set('info', request.get('info'));
    });
    this.transitionTo('sessions.new.wizard1');
} 
这似乎根本不起作用。我无法像预期的那样访问转换对象上的queryParams。此外,我在模型上设置的任何内容在转换后似乎都不会持久

有更好的方法吗?我错过什么了吗


非常感谢

似乎最好将查询参数传递给您的
会话。新建
路由并让它处理设置适当的信息。您可以将查询参数设置为
转换的一部分,如下所述: