我正在整理一个使用Heist模板的简单快照应用程序。我想将请求url打印到页面中。但是,输出只有splice标记,而不是运行splice。我觉得我忽略了一些简单的东西,因为我找不到我的应用程序和我找到的教程之间的任何区别。
Site.hs:
{-# LANGUAGE OverloadedStrings #-}
module Site
( app
) where
import Data.Monoid
import Snap.Core
import Snap.Snaplet
import Snap.Snaplet.Heist
import Heist
import Application
import Control.Monad.Trans.Class (lift)
import Data.Text.Encoding (decodeUtf8)
import qualified Text.XmlHtml as X
currentPath :: SnapletISplice App
currentPath = do
requestPath <- lift $ withRequest (return . rqURI)
return [X.TextNode $ decodeUtf8 requestPath]
app :: SnapletInit App App
app = makeSnaplet "andrewlorente" "My wubsite" Nothing $ do
let config = mempty {
hcInterpretedSplices = "currentPath" ## currentPath
}
h <- nestSnaplet "heist" heist $ heistInit' "templates" config
return $ App hindex.tpl:
<currentPath />据我所知,访问根路径/的呈现输出应该是这样的
/但实际上是这样的
<currentPath></currentPath>我无计可施,试图弄清楚为什么我的拼接没有运行。
发布于 2014-03-26 22:08:10
啊哈
这根本不是代码的问题。在某些时候,我已经切换到使用cabal沙箱,但是没有更新我的$PATH,所以我仍然在执行没有定义拼接的代码的旧版本。
https://stackoverflow.com/questions/22651912
复制相似问题