6

我在试图弄清楚如何通过文件上传实现 Rails 3 多页表单时遇到了一些麻烦,其中每个步骤都由控制器中的更新/编辑操作处理。

Ryan Bates 提供了关于如何使用会话执行多步骤表单的精彩截屏视频,并简要说明了如何通过在初始步骤中保存到数据库然后在每个后续步骤中执行更新来完成类似的事情。我还阅读了他的要点,对如何创建多步骤表单的一些不同选项进行了更详细的解释(我倾向于选项 1)。

但是当涉及到多步表单的实际实现时,我还是有点迷茫。我的目标是使用carrierwave 进行文件上传(图像),并且可能使用geekq 的工作流来帮助状态机在每个步骤中进行验证。

为了清楚起见,我目前正尝试在向导的初始步骤中在数据库中创建一个条目,并让每个后续页面更新模型。

有任何想法吗?

一个例子或一个正确方向的点将不胜感激。

谢谢!

注意:我读过另一篇文章,他们提到了一些关于键/值数据存储的内容,但不幸的是,这让我有点过头了......

4

1 回答 1

0

就此而言,键值对存储或 SQL 与您的实际问题的联系非常松散。这些只是关于如何将数据实际存储在后端的不同方法。使用一种或另一种方式对您的情况并没有真正的影响。

至于实际问题,我认为它对 SO 来说太笼统了。多步表单往往与另一种非常不同。没有“一种好方法”可以做到这一点。

您没有得到任何答案的原因可能是因为没有提出真正的问题。您应该做的是尝试进行实际实施并在某处碰壁时发布更具体的问题。

最后——我相信多步骤形式在可用性方面并不是最好的主意。当然,在某些情况下使用它们是有正当理由的,但如果有办法在你的情况下避免使用它们,你真的应该三思而后行。

我之前遇到的表单和上传问题之一是验证(它与多/单步骤无关)。通常,当验证失败时,用户必须重新上传文件。幸运的是,在您的情况下,这不是什么大问题,因为 Carrierwave 会自动处理。

于 2011-07-12T03:58:54.073 回答