我有一条路线捕捉所有缺失的路线并呈现404风格的网页。我想创建一个匹配任何URL的路径以“/ browse /”开头,例如“/ browse / shoes / red”。这似乎是正确的方法:
App.Router.map(function() {
this.route('browse', { path: '/browse/*fields' });
this.route('missing', { path: '/*badPath' });
});
然而,ember的RouteRecognizer总是在浏览路线上选择丢失的路线。 (执行此操作的逻辑在route-recognizer.js的sortSolutions中。)这是Ember中的错误吗?有没有正确的方法来使用glob路由并仍然有404处理程序?
顺便说一句,我可以创建一个浏览资源,而不是像这样的路线:
App.Router.map(function() {
this.resource('browse', { path: '/browse' }, function() {
this.route('baz', {path: '/*'});
});
this.route('missing', { path: '*' });
});
这仍有同样的问题。
答案 0 :(得分:1)
我认为这一定是个错误...
这是一个JSBin:http://jsbin.com/ucanam/1403/edit
在这里你可以看到它按预期直接进入'缺失'路线:
http://jsbin.com/ucanam/1403#/some/random/stuff
尝试直接进入“浏览”路线失败: