我在 Internet、Yesod Web 电子书和其他教程(Yesod 教程)中进行了搜索,但我无法澄清这个问题。我正在使用脚手架站点。
我有一个处理程序,在它内部返回一个值,如果用户已通过身份验证,则返回电子邮件,否则返回字符串。我想要的是返回本地化消息而不是字符串“(未知用户 ID)”。我的问题是使用消息文件中的值(例如 MsgHello),如果我这样做,它会返回如下错误:
无法匹配预期
AppMessage' with actual type
的文本类型'
我曾尝试使用(show MsgHello)或(pack MsgHello),甚至调用msg <- getMessageRender但我无法做到我所期望的。如果您有任何建议,欢迎提出。
谢谢!!
PD:这是我正在处理的代码的一部分,行:
getUserProfileR :: Handler RepHtml
getUserProfileR = do
maid <- maybeAuth
let user = case maid of
Nothing -> "(Unknown User ID)"
Just (Entity _ u) -> userEmail u
defaultLayout $ do
setTitleI MsgUserProfile
$(widgetFile "nhUserProfile")