4

Yesod 是否有可能在站点范围内设置变量?假设,我有主菜单,哪些条目是从 DB 收集的,并在每个页面上呈现:我应该在每个处理程序中手动获取条目吗?

我试图在 Foundation.hs 的instance Yesod App声明中做到这一点defaultLayout

    instance Yesod App where
    ...

    defaultLayout widget = do
      ...
      entries <- runDB $ selectList [RubricOnTop ==. True] []
      ...

但这无法编译:我的类型EntityRubricGeneric.

解决方案

    $forall rubric <- map entityVal rubrics
      ...

在 default-layout-wrapper.hamlet 中。尚未在 defaultLayout 函数中找到执行此操作的解决方案。

4

1 回答 1

3

您显示的代码很好,但是在使用类型时需要记住entries,类型是Entity Rubric,而不是Rubric

于 2012-06-22T04:41:19.160 回答