MichaelSnoymanhttp ://vimeo.com/39646807によるこのスクリーンキャストをフォローしようとしました。ただし、i18nを変更すると、そのコードが失敗するようです。足場のあるサイトでこの問題を解決する方法についての情報を見つけることができず、ここで提供されている情報を完全に理解することはできませんhttp://www.yesodweb.com/book/internationalization。
これは、Home.hsのコードを参照して取得したエラーです。
No instance for (RenderMessage master0 FormMessage)
arising from a use of `generateFormPost'
Possible fix:
add an instance declaration for (RenderMessage master0 FormMessage)
In a stmt of a 'do' block:
(formWidget, enctype) <- generateFormPost noteForm
In the expression:
do { (formWidget, enctype) <- generateFormPost noteForm;
defaultLayout ($(widgetFile "notes")) }
In an equation for `getNotesR':
getNotesR
= do { (formWidget, enctype) <- generateFormPost noteForm;
defaultLayout ($(widgetFile "notes")) }
情報はかなり明確に見えますが、問題は(RenderMessage master0 FormMessage)のインスタンス宣言を追加する方法がわからないことです。
これが私がHome.hsに追加したコードです
noteForm = renderBootstrap $ Note
<$> areq textField "Title" Nothing
<*> areq textField "Content" Nothing
getNotesR = do
(formWidget, enctype) <- generateFormPost noteForm
defaultLayout $(widgetFile "notes")
postNotesR = return ()
getNoteR noteId = return ()
Ant以下はtemplates/notes.hamletからのものです
<form method=post enctype=#{enctype}>
^{formWidget}
<input type=submit>