1

このコードは、0.10.0の変更前はHeistで機能していました

main = do
      Right ts <- loadTemplates "templates" $
          bindSplices mySplices defaultHeistState
      etc..

今、私はエラーを受け取ります

testdb.hs:59:33: Not in scope: `defaultHeistState'

loadTemplatesの型シグネチャがに変更されたことを知っています

loadTemplates :: FilePath -> EitherT [String] IO TemplateRepoSource

しかし、古いコードを機能させるためにどのように適応させるかを理解するのに苦労しています。

4

1 に答える 1

1

OK私はこれで動作するようになりましたが、これを行うためのよりエレガントな方法を受け入れています

load baseDir splices = do
    tmap <- runEitherT  $ do
        templates <- loadTemplates baseDir
        let hc = HeistConfig mySplices  [] [] [] templates
        initHeist hc
    either (error . concat) return tmap

main = do
      ts <- load "templates" $ bindSplices mySplices 
      renderWithArgs [("test", T.pack "hello world")]  ts "index" >>= 
        B.putStr . maybe "Page not found" (toByteString . fst) 
于 2013-02-10T00:39:58.050 に答える