我在索引路由中查找了一个子域.它为子域子弹查找计划,然后重定向到计划页面.如果没有计划返回,则需要呈现404页面.这是重定向的代码.诚然,我是ember的新手,但是这段代码似乎是正确的.我在控制台中得到零错误,它只是转到我尝试重定向的路线:
控制器/ index.js
model: function() {
var self = this;
if ( this.isHomePage() ) {
return Ember.Object.create();
} else {
// Get resources
var parts = window.location.hostname.split('.');
var subdomain = parts[0];
return this.store.find('plan', { plan_subdomain: subdomain }).then(function(plans) {
var returnedPlan = plans.get('firstObject');
if (Ember.isEmpty(returnedPlan)){
debugger;
return self.transitionTo('fourOhFour');
} else {
return returnedPlan;
}
});
}
},
router.js
this.route("fourOhFour", { path: "*path"});
解决方法:
您正在指定404路径作为“全部捕获”
this.route("fourOhFour", { path: "*path"});
这样做很有意义,但是随后您要告诉Ember过渡到该通配符路由,但是URL是什么? / *?
您需要通过为transitionTo()指定第二个参数来告诉Ember该路径应该是什么
有关示例,请参见here
我回答了类似的问题here