Ember 路由器中是否可以有(未定义数量的)可选段?

Is it possible to have (an undefined number of) optional segments in the Ember router?

我想从数组中的 Ember 路由器收集额外的段。 这是一个虚构的 path 来说明我的意思:

this.route('group', {path: 'group/:group_id(/:segments[])*'}, function() {

是否可以使用这样的请求:

GET /group/123/some/path/segments

并将它们收集在一个数组中?

group.id = 123
segments = ['some', 'path', 'segments']

或者有什么方法可以定义可选段,这样我就可以添加很多并手动收集它们吗?

在后台,路由器使用 route-recognizer 来确定路由。有star-segments

的概念
router.add([{ path: "/pages/*path", handler: page }]);

result = router.recognize("/pages/hello/world");
result === [{ handler: page, params: { path: "hello/world" } }];

这似乎是您要找的东西

附带说明一下,这是我常用的 404 方法:

Router.map(function() {
  ...very last route
  this.route('not-found', { path: "/*path"});
});

routes/not-found.js:

export default Route.extend({
    model(params){
        return params.path
    }
});

不是-found.hbs

404: /{{model}} not found!

这样 /foo/bar 产生:404: /foo/bar not found!