Yesod 是否有可能在站点范围内设置变量?假设,我有主菜单,哪些条目是从 DB 收集的,并在每个页面上呈现:我应该在每个处理程序中手动获取条目吗?
我试图在 Foundation.hs 的instance Yesod App
声明中做到这一点defaultLayout
:
instance Yesod App where
...
defaultLayout widget = do
...
entries <- runDB $ selectList [RubricOnTop ==. True] []
...
但这无法编译:我的类型Entity
与RubricGeneric
.
解决方案
$forall rubric <- map entityVal rubrics
...
在 default-layout-wrapper.hamlet 中。尚未在 defaultLayout 函数中找到执行此操作的解决方案。