我无法弄清楚 Snap 0.9(很可能还有其他版本)中的路由异常
我知道“/”是一个捕获所有内容的模式,除非我将 ifTop 函数放在处理程序中,对吧?因此,使用 ("/", blah) 路由,任何 URL 都应该由 blah 处理程序处理,对吗?
使用 snap init 生成的默认应用程序,除了根请求的 index.tpl 之外,我无法快速渲染任何内容。
给定根(“/”,等等)和处理程序
blah :: Handler App App ()
blah = render "blah"
它为除根 URL 之外的任何 URL 呈现 blah 模板!所以“/anything”呈现blah模板,但“/”呈现索引模板。
将 blah 处理程序更改为
blah = ifTop $ render "blah"
不会改变任何行为。只有在这种情况下,我无法路由到“/anything”。路由到“/”仍然呈现索引模板。我错过了什么?如何获得“/”来呈现我选择的模板?