我想知道如何在 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 和其他一些东西,但它似乎不起作用。有任何想法吗?谢谢