使用yesod需要小部件问题的帮助

时间:2013-11-17 21:49:19

标签: haskell yesod

在yesod我有etat.hamlet,我需要创建一个带有变量会话的小部件,以便将其与其他文件放在一起.hamlet

我的代码就是这样,但我发现了一个错误

etatwidget = do
    sess <- getSession
    let mence = unpack $ case Map.lookup "ence" sess of
        Just a -> a
        Nothing -> "Nothing"        
    $(widgetFile "etat")

错误:

Handler\Home.hs:585:5: parse error on input `$('
Build failure, pausing...

1 个答案:

答案 0 :(得分:1)

$(widgetFile "etat")是一个模板Haskell接头,因此首先要检查的是TemplateHaskell扩展是否已启用。您可以通过添加

启用它
{-# LANGUAGE TemplateHaskell #-}

到源文件的顶部。

P.S。:顺便说一句,您还需要进一步缩进JustNothing个案例:

    let mence = unpack $ case Map.lookup "ence" sess of
            Just a -> a
            Nothing -> "Nothing"