4

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関数でこれを行うための解決策はまだ見つかりません。

4

1 に答える 1

3

あなたが示したコードは問題ありませんentriesが、型がEntity Rubricではなくであることに注意する必要がありますRubric

于 2012-06-22T04:41:19.160 に答える