Yesod 中的分层路由

Hierarchical routes in Yesod

我正在尝试在 Yesod(版本 1.4.5.1)中使用分层路由,但显然我做错了什么。我的 config/routes 文件(我使用的是标准脚手架站点)的相关部分如下所示:

/ HomeR GET
/about AboutR:
    / AboutIndexR GET
    /team AboutTeamR GET
/service ServiceR:
    / ServiceIndexR GET
    /newsletter ServiceNewsletterR GET

我得到以下编译错误:

Foundation.hs:34:21
    Exception when trying to run compile-time code:
      Overlapping routes:
("HomeR", "AboutIndexR")
("HomeR", "ServiceIndexR")
("AboutIndexR", "ServiceIndexR")

显然 Yesod 不明白这三个 / 是不同的路径!?我的错误在哪里?

我有一些网站可以像这样工作,而且似乎工作正常。我还复制了您的路线片段,它似乎很好地通过了重叠检查。您确定 config/routes 中的缩进没有问题吗?如果您确定这不是问题所在,也许您可​​以将文件本身上传到某处以供审核。