4

Yesod には、型を入力するフォームがあります

data Field = Field Text Text text
  deriving Show

hamlet html を表示するように書いていると、 Field が Maybe でラップされているという問題に遭遇しMaybe Fieldます。ハムレットでは、ここに示すように次のことをしようとしています

(postHomeR 関数のスニペット)

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

(hamlet ファイル内)

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

ただし、コンパイル時にNot in scope: oneエラーが発生します。変数 one が正しく作成/入力されないのはなぜですか?

4

1 に答える 1

3

<li> をインデントして、$maybe ブロック内に配置する必要があります。現在のところ、これは $maybe の兄弟であるため、$maybe によってバインドされた変数はスコープ内にありません。

于 2013-03-20T06:50:21.673 に答える