使用表单Haskell Yesod将数据发布到数据库

时间:2013-11-07 13:47:23

标签: html forms sqlite haskell yesod

我想知道如何在Yesod中向数据库(sqlite)添加新数据。我到目前为止在模特中:

Payment
   timestamp UTCTime
   from UserId
   to UserId
   amount Int

当用户登录时,他可以前往他的空间,在那里他可以填写新表格并将其发送到postPaymentsR:

 getUserR :: UserId -> Handler Html
 getUserR userId = do
    user <- runDB $ get404 userId
    mauth <- maybeAuthId
    case mauth of
       Just _ -> defaultLayout $ do
        setTitle $ toHtml $ userIdent user
        [whamlet|
            <h1> #{userIdent user}
            <form method=post action=@{PaymentsR}>
                <p>Enter new payment:
                <input type=text name=payment>
                <p>From user:
                <input type=text name=user>
                <input type=submit value="Add">
        |]      
       Nothing -> defaultLayout $ do
        setTitle $ toHtml $ userIdent user
        [whamlet|
            <h1> #{userIdent user}
        |]

现在我必须将这些数据发布到付款中。我曾尝试使用runDB $ insert paymentTo UserIdent,以及其他一些东西,但它似乎不起作用。有任何想法吗? 感谢

0 个答案:

没有答案