从IO can not be used inside Yesod Template开始,如何在页面上显示简单的当前时间?
在我的.hamlet文件中,类似于:
<h2>
#{show $ getCurrentTime }
getCurrentTime :: IO UTCTime
答案 0 :(得分:4)
换句话说,您需要在模板外部运行IO操作。
外面的 表示模板的处理程序。所以我会这样写。
-- Home.hs
getHomeR = do
time <- liftIO getCurrentTime
defaultLayout $(widgetFile "homepage")
-- homepage.hamlet
<h2>#{show time}