インターネット、Yesod Web 電子ブック、およびその他のチュートリアル ( Yesod チュートリアル) で検索しましたが、この問題を明確にすることはできませんでした。足場サイトを利用しています。
内部には値、ユーザーが認証されている場合は電子メール、認証されていない場合は文字列が返されます。私が望むのは、文字列「(Unknown User ID)」の代わりにローカライズされたメッセージを返すことです。私の問題は、メッセージ ファイル (例: MsgHello) の値を使用することです。これを行うと、次のようなエラーが返されます。
AppMessage' with actual type
予期されるタイプのテキストと一致しませんでした'
(show MsgHello)または(pack MsgHello)を使用してみましたが、 msg <- getMessageRenderを呼び出しても、期待どおりの結果が得られませんでした。提案があれば、大歓迎です。
ありがとう!!
PD: これは、私が取り組んでいるコードの一部です。
getUserProfileR :: Handler RepHtml
getUserProfileR = do
maid <- maybeAuth
let user = case maid of
Nothing -> "(Unknown User ID)"
Just (Entity _ u) -> userEmail u
defaultLayout $ do
setTitleI MsgUserProfile
$(widgetFile "nhUserProfile")