Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 获取当前用户id时出错_Haskell_Yesod_Persistent - Fatal编程技术网

Haskell 获取当前用户id时出错

Haskell 获取当前用户id时出错,haskell,yesod,persistent,Haskell,Yesod,Persistent,我正在处理一个我无法解决的小问题。 是的,带postgres模板 我的目标是创建一个以当前uid命名的新目录 -- model -- User ident Text -- ... -- Handler uploadDirectory :: FilePath uploadDirectory = "static/docs" writeToServer :: FileInfo -> Handler FilePath writeToServer file = do let

我正在处理一个我无法解决的小问题。 是的,带postgres模板

我的目标是创建一个以当前uid命名的新目录

-- model
-- User
     ident Text
--   ...

-- Handler
uploadDirectory :: FilePath
uploadDirectory = "static/docs"

writeToServer :: FileInfo -> Handler FilePath
writeToServer file = do
    let filename = unpack $ fileName file
        filepath = registerFilePath filename
    liftIO $ fileMove file filepath
    return filename

registerFilePath :: String -> FilePath
registerFilePath f = do
    (_,muser) <- requireAuthPair
    uploadDirectory </> showText (userIdent muser) </> f
似乎调用userIdent需要muser为持久类型“User”。 但是,requireAuthPair返回一个AuthEntity(HandlerSite[])

我想requireAuthPair没有针对这种情况定义。有什么帮助吗

你忠实的, 菲利佩·阿戈洛

PS:我没有更改postgres模板的身份验证设置。
我首先使用虚拟身份验证进行测试

特别关注:

registerFilePath :: String -> FilePath
registerFilePath f = do
    (_,muser) <- requireAuthPair
    uploadDirectory </> showText (userIdent muser) </> f
registerFilePath::String->FilePath
寄存器文件路径f=do
(u,muser)“查看规范”
registerFilePath :: String -> FilePath
registerFilePath f = do
    (_,muser) <- requireAuthPair
    uploadDirectory </> showText (userIdent muser) </> f