代码之家  ›  专栏  ›  技术社区  ›  iCyborg

如何在Rails中表单提交之前构建预览功能?

  •  2
  • iCyborg  · 技术社区  · 13 年前

    我有一个简单的脚手架,我希望用户在提交表单数据之前看到(预览)表单数据。这看起来是一个相当直接的问题,但令人惊讶 我不知道该怎么做 。我发现 this 但它看起来有些过时了(2010年的问题)

    有没有任何gem或jquery插件可以简化预览功能?关于如何在rails 3.2.x中做到这一点,有什么建议吗?

    谢谢

    2 回复  |  直到 13 年前
        1
  •  2
  •   Bernard Potocki    13 年前

    这实际上取决于你想要包含什么样的“预览”——“预览页面”或“渲染片段”:

    预览页面是一些服务显示的内容:所有输入的摘要以单独页面的形式显示,并带有“确认”按钮。它不需要javascript或任何花哨的东西——只需在表单页面上单击“下一步”,查看一秒钟前键入的数据,然后单击“确认”或“返回编辑”。如果这是您所需要的,那么您可以简单地通过创建新的控制器操作(预览?)来完成,该操作将使用传递的参数初始化模型(就像“创建”操作一样,但不保存),并生成显示“预览”和隐藏表单的模板,单击“确认”后将传递给“创建”动作。或者,您可以简单地修改“新”表单,使其根据调用的操作隐藏表单,并显示预览。

    第二个选项是“render fragment”——它将通过javascript实时更新当前页面的一部分。根据这个视图的复杂程度以及在显示模板之前需要做什么样的操作,最好使用一些javascript插件或向服务器发送请求并获得渲染的部分。在前一种情况下,您可以从非常简单的实现中进行选择(如 this )另一方面,如果您选择在服务器上呈现它,那么带有所有表单参数的简单ajax请求就足以为您提供可以直接放入DOM元素的HTML输出。

        2
  •  -1
  •   Aggelos Avgerinos    13 年前

    我不知道有什么宝石能做到这一点。

    我认为用jquery显示模态并从数据元素中获取数据是一种简单的方法。