我希望使用会话值而不是Key从数据库获取用户信息。
使用此:
getProfileR :: Handler Html
getProfileR = do
user <- runDB $ get404 $ lookupSession "_ID"
defaultLayout $ do
$(whamletFile "templates/profile.hamlet")
取而代之的是:
getProfileR :: UserId -> Handler Html
getProfileR uid = do
user <- runDB $ get404 uid
defaultLayout $ do
$(whamletFile "templates/profile.hamlet")
有可能吗?不推荐吗?
答案 0 :(得分:0)
lookupSession
的类型是:
lookupSession :: MonadHandler m => Text -> m (Maybe Text)
所以我会尝试这样的事情:
getProfileR :: Handler Html
getProfileR = do
uid <- lookupSession "_ID"
user <- runDB $ get404 (Just uid)
defaultLayout $ do
$(whamletFile "templates/profile.hamlet")