如何在小村庄使用$

时间:2013-03-20 05:26:25

标签: haskell yesod hamlet

在Yesod中,我有一个填充类型的表单

data Field = Field Text Text text
  deriving Show

当我编写hamlet html来显示它时,我遇到了可能Maybe Field中包含Field的问题。所以在哈姆雷特,我试图按照here

所示进行以下操作

(postHomeR函数中的片段)

let fieldData = case result of
      FormSuccess res -> Just res
      _               -> Nothing

(在小村文件中)

<ul>
  $maybe (Field one two three) <- fieldData
  <li>#{show one}

但是,编译时出现Not in scope: one错误。为什么变量没有正确创建/填充?

1 个答案:

答案 0 :(得分:3)

你需要缩进&lt; li&gt;所以它在$ maybe块里面。就像它现在一样,它可能是$ maybe的兄弟,因此由$绑定的变量可能不在范围内。