6

我们想要的基本上是这样的:

/foo/*                 controllers.FooController.foo

但是,这不起作用。

我们找到了以下解决方法:

/foo/*ignore           controllers.FooController.foo(ignore)

但这使得该方法的代码controllers.FooController.foo略显难看。有一个更好的方法吗?

4

1 回答 1

2

查看此处的代码,路由器无法在不指定identifier...的情况下处理“slug”部分......解析器组合器并未将其声明为可选,并且map( ^^) 显然按原样使用它。

如果它不会引发其他问题,其中模式将隐藏所有其他路由,因为它在文件中定义得更高(甚至最坏,包括在内),这可能是一个很好的功能请求。

如果我们看这里,它似乎是故意的,我们可以发现动态参数不能被分配一个默认值——事实上,在这种情况下,我们将陷入我刚刚提到的情况:-/ .

我的第一个建议是告诉您使用ignoreasOption[String]和将其设置为的操作定义None(而不是空String的,因为它更具表现力)。我的第二个是鼓励你怀疑这种情况是否真的相关,因为它容易出错并且可能隐藏更多问题

于 2013-04-10T14:07:15.640 回答