Yesodで、doubleのJSON配列を持つテキストフィールドであるカスタムフィールドを作成したいと思います。ただし、タイプエラーが発生し続けます。私の現在の試みは次のとおりです。
doubleListField :: RenderMessage master FormMessage => Field sub master [Double]
doubleListField = Field
{ fieldParse = parseHelper $ Right . decodeUtf8 . parse json
, fieldView = \theId name attrs val isReq -> toWidget [hamlet|
$newline never
<input id="#{theId}" name="#{name}" *{attrs} type="number" :isReq:required="" value="Hey">
|]
}
(正しい空白が見つかりました:https ://gist.github.com/4394850 )
私は現在失敗しています:
Couldn't match expected type `Data.ByteString.Internal.ByteString'
with actual type `[Text]
-> m0 (Either (SomeMessage master0) (Maybe Text))'
In the second argument of `($)', namely `parseHelper $ Right'
In the `fieldParse' field of a record
In the expression:
Field
{fieldParse = parse json $ parseHelper $ Right,
fieldView = \ theId name attrs val isReq
-> toWidget (\ _render_a5Cg -> ...)}
fieldView変更して、その方法を知っていますが、fieldParseがどのように表示されるかについては混乱しています。ありがとう!