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