【发布时间】:2012-06-24 06:33:05
【问题描述】:
是否有可能在 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
...
在默认布局包装器.hamlet 中。尚未在 defaultLayout 函数中找到解决方案。
【问题讨论】: