我有一条路线可以捕获所有丢失的路线并呈现 404 样式的页面。我想创建一个匹配任何以“/browse/”开头的 url 的路由,例如“/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 中的错误吗?是否有正确的方法来使用全局路由并且仍然有 404 处理程序?
顺便说一句,我可以为浏览创建一个资源,而不是让它成为这样的路由:
App.Router.map(function() {
this.resource('browse', { path: '/browse' }, function() {
this.route('baz', {path: '/*'});
});
this.route('missing', { path: '*' });
});
这仍然有同样的问题。