Scala 独立路由器的动态部分

Scala 独立路由器的动态部分,scala,playframework,playframework-2.6,Scala,Playframework,Playframework 2.6,假设我有一些这样的路线: GET /home/:id/foo controllers.HomeController.foo(id: Int) GET /home/:id/bar controllers.HomeController.bar(id: Int) GET /home/:id/baz controllers.HomeController.baz(id: Int) 我决定把它们分别放在不同的文件里。如果我像对其他没有动态部分的路由那样将其拆分,则即使路由查找看起来正确,也无法再识别

假设我有一些这样的路线:

GET /home/:id/foo  controllers.HomeController.foo(id: Int)
GET /home/:id/bar  controllers.HomeController.bar(id: Int)
GET /home/:id/baz  controllers.HomeController.baz(id: Int)
我决定把它们分别放在不同的文件里。如果我像对其他没有动态部分的路由那样将其拆分,则即使路由查找看起来正确,也无法再识别这些路由:

Action Not Found

For request 'GET /home/1/foo' 
These routes have been tried, in this order: 
1 GET/home/$id<[^/]+>/foo  controllers.HomeController.foo(id:Int)
2 GET/foo/$id<[^/]+>       controllers.HomeController.foo(id:Int)
home.routes

GET /foo  controllers.HomeController.foo(id: Int)
GET /bar  controllers.HomeController.bar(id: Int)
GET /baz  controllers.HomeController.baz(id: Int))

有什么方法可以让这个工作正常进行,还是根本不可能?

我认为你不能将
/home/:id
放在一个文件中,而将
/foo
放在另一个文件中。您是否尝试过将
/:id
部件移动到home.routes?@JamesWhiteley是的,可以。但这正是我试图避免的。在路线的
->
-部分中,似乎不能有动态部分。
GET /foo  controllers.HomeController.foo(id: Int)
GET /bar  controllers.HomeController.bar(id: Int)
GET /baz  controllers.HomeController.baz(id: Int))