【发布时间】:2015-03-16 07:02:17
【问题描述】:
例如,我在模型中有下一个实体类型
User json
username Text
以及以下 Haskell 类型:
Entity User
删除用户的处理程序:
路线文件:
/users/#UserId UserR DELETE
处理程序声明:
deleteUserR :: UserId -> Handler Value
deleteUserR uid = do
runDB $ delete uid
sendResponseStatus status200 ("DELETED" :: Text)
我想写这样的模板函数:
mkDeleteHandler :: String -> Q [Dec]
mkDeleteHandler name = do
[d|hname idname = do
runDB $ delete idname
sendResponseStatus status200 ("DELETED" :: Text)|]
where hname = mkName ("delete" ++ name ++ "R")
idname = mkName ("i" ++ name)
在我编写的 Handler.User 模块中
mkDeleteHandler "User"
但它不起作用。编译器写下一个警告:
警告:已定义但未使用:hname
警告:已定义但未使用:idname
还有错误:
不在范围内:deleteUserR
【问题讨论】:
标签: haskell yesod template-haskell