1

Digestive-functors-blaze は のような html を作成します<input type="text" id="foo" name="foo" /><label for="foo">Bar</label>が、たとえば最後に追加する標準的な方法が見つかりませんでした<br />

私はこれを思いつきました:

br :: (Monad m) => HappstackForm m H.Html BlazeFormHtml ()
br = Common.label $ \_ -> do
  createFormHtml $ \cfg -> do
    H.br

私はそれを期待どおりに追加することができますが<++、これが意図した方法であるかどうか疑問に思いますか?

また、これはたとえばフィールドセットでどのように拡張されますか。

4

1 に答える 1

2

これは意図した方法ですが、次のようbrに書くと少しすっきりします。

br :: Monad m
   => Form m i e BlazeFormHtml ()
br = view $ createFormHtml $ const H.br

とにかく、この定義は少し面倒だと思ったので、次のviewHtml関数を追加しましたText.Digestive.Forms.Html:

viewHtml :: Monad m => a -> Form m i e (FormHtml a) ()
viewHtml = view . createFormHtml . const

これはdigestive-functors-0.1.0.1で利用できます。この新しいコンビネータを使用すると、次のように使用できるはずです<++ viewHtml H.br— これが役に立てば幸いです。

于 2011-06-28T08:43:40.177 に答える