【问题标题】:Yesod update forms and delete viewsYesod 更新表单和删除视图
【发布时间】:2015-06-09 17:41:54
【问题描述】:

在构建 Django 多年后,我正在构建我的第一个 Yesod Web 应用程序。我习惯于更新表单和删除 Django 内置的视图。 Yesod 似乎不是这种情况,至少我在book forms chapter 或任何online examples 中都找不到它们。

为了清楚起见,我所说的更新表单是一个预先填充了模型实例值的表单,您可以使用它来编辑实例。删除视图只是用于删除实例的内置函数。对于后者,我刚才做了以下操作:

deleteArticleR :: BlogId -> Handler Html
deleteArticleR blogId = do
    runDB $ delete blogId
    redirect $ BlogR

我还没有知道如何做一个更新表格。我很高兴如上所述推出自己的产品,但我想在这里再次检查是否有任何内置的。我错过了一些文档吗?如果是这样,我在哪里可以找到它们?

【问题讨论】:

  • 您能澄清一下“更新和删除表单”的含义吗?我想不出任何可以称为“删除表单”的东西,但“更新表单”应该包含在表单章节中描述的标准表单用法中,除非我误解了您的目标。
  • @MichaelSnoyman 我已经编辑了这个问题。 “删除表格”对我来说是一个糟糕的术语。顺便说一句,到目前为止,我很喜欢这个框架,所以谢谢。
  • 这是您在更新表单中寻找的那种东西吗? github.com/fpco/stackage-server/blob/master/Handler/Profile.hs
  • 我想可能是的。我想如果我想为创建表单(无模型实例)和更新表单(模型实例)使用相同的代码,我会使用类似blogForm :: Maybe Blog -> AForm Handler Blog?
  • 没错,图书馆就是这样设计的。

标签: yesod yesod-forms


【解决方案1】:

Yesod 的 Github 存储库似乎在 yesod-form 包中包含一些 CRUD 助手:https://github.com/yesodweb/yesod/blob/master/yesod-form/Yesod/Helpers/Crud.hs

【讨论】:

  • 只是让您知道我已经看到了这个并且很快就会看到它。我现在已经走自己的路了,但肯定会将此作为重构进行检查。
猜你喜欢
  • 2016-05-04
  • 1970-01-01
  • 1970-01-01
  • 2022-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-10
  • 1970-01-01
相关资源
最近更新 更多