Haskell 在POST处理程序中,runFormPost的正确属性是什么?

Haskell 在POST处理程序中,runFormPost的正确属性是什么?,haskell,yesod,yesod-forms,Haskell,Yesod,Yesod Forms,我对Yesod和Haskell不熟悉,我不明白当我的表单具有多个属性时,应该如何处理runFormPost函数。我会举一个例子: 这是我的表格: orderForm :: [Entity Food] -> Int -> Maybe Order -> Text -> Form Order orderForm foods price order email = renderBootstrap3 BootstrapBasicForm $ Order <$> pu

我对Yesod和Haskell不熟悉,我不明白当我的表单具有多个属性时,应该如何处理runFormPost函数。我会举一个例子:

这是我的表格:

orderForm :: [Entity Food] -> Int -> Maybe Order -> Text -> Form Order
orderForm foods price order email = renderBootstrap3 BootstrapBasicForm $ Order
  <$> pure email
  <*> areq (selectFieldList foodList) "Food" (orderFood <$> order)
  <*> pure price
  <*  bootstrapSubmit (BootstrapSubmit ("Send" :: Text) "btn-info" [])
orderForm::[Entity Food]->Int->Maybe Order->Text->Form Order
orderForm foods price order email=renderBootstrap3 BootstrapBasicForm$order
纯电子邮件
areq(选择字段列表食品列表)“食品”(订单食品订单)
纯价格

因此,
pure
似乎不创建表单字段。相反,它似乎使用您在
runFormPost
中给出的任何参数来创建
顺序。您的目标是在文本字段中输入电子邮件,并用默认值“email”填充它(价格字段的问题相同)?如果你能描述一下你希望你的表格是什么样的,我想我可以回答你的问题。它们并不直接适用于你的问题,但既然你说你是新来的,那么也许值得查看表格或表格部分。
(form, _) <- generateFormPost $ orderForm foods defaultFoodPrice Nothing email
((res, form), _) <- runFormPost $ orderForm [] 0 Nothing ""