Yesod(0.10)に調査サイトを構築していて、タイプに迷っています。これが私がやろうとしていることの簡略版です。
invitation url = do
render <- getUrlRender
return $ renderHtml [hamlet|
<p>Dear foo, please take our
<a href=@{ShowSurveyR url}>survey.
|] render
Network.Mail.MimeからsimpleMailに渡すことができるものを取得することを期待して、別の関数がこれを呼び出します。上記の関数はタイプエラーを出します:
Handler/Root.hs:404:13:
The function `renderHtml' is applied to two arguments,
but its type `Html -> LT.Text' has only one
テンプレートチュートリアルはこのように動作するように見えるため、これは混乱を招きます。しかし、このようにコードを変更すると...
invitation url = do
return $ renderHtml [hamlet|
<p>Dear foo, please take our
<a href=@{ShowSurveyR url}>survey.
|]
このタイプのエラーが発生します。
Handler/Root.hs:403:24:
The lambda expression `\ _render[a4TO] -> ...' has one argument,
but its type `Html' has none
In the first argument of `renderHtml', namely
renderHtmlは使用するのに間違った関数だと思いますが、正しい関数が何であるかがわかりません。誰かが私が欠けているものを知っていますか?ルーティング関数をハムレットコードに渡すにはどうすればよいですか?