【问题标题】:Sitewide variables in Yesod layout (django context processors analog)Yesod 布局中的站点范围变量(django 上下文处理器模拟)
【发布时间】: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] []
      ...

但这无法编译:我的类型不匹配 EntityRubricGeneric

解决方案

    $forall rubric <- map entityVal rubrics
      ...

在默认布局包装器.hamlet 中。尚未在 defaultLayout 函数中找到解决方案。

【问题讨论】:

    标签: haskell yesod


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 2011-12-16
      • 1970-01-01
      • 2015-05-24
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多