rails多步forms的最佳实践?

我想在Rails 3中创建一个mutlistep表单。我已经看过它上面的railscasts剧集,但我并不觉得他在创建表单时使用了最佳实践。 我觉得这是完成任务的一种草率方式。 使用rails中的最佳实践创建多步骤表单的最佳方法是什么?

没有更多信息你的问题有点难以回答,真正的答案是详细的教程(比如Railscast)而不是SO答案,但是这里有一些想法可以帮助你。

多步forms有两种主要方法:

  1. 使用Javascript逐位显示表单

  2. 创建单独的视图并使用create / update或类似方法将用户从一个用户路由到另一个用户。

每种方法都有优势,具体取决于您是否要支持javascript,以及您需要在各部分之间保存数据的要求。

优点1

  • 用户可以更快地从一个部分导航到另一个部分(javascript hide / show是瞬时的)
  • 用户想要参考前面的部分,可以轻松访问数据
  • 更简单的控制器操作

缺点1

  • 对于没有运行javascript的用户不起作用(除了将表单显示为一个巨大的块之外,这里没有渐进增强function)。
  • 将要求您提供基于javascript的导航以从一个部分移动到另一个部分(如果您是.js的新手,则只是一个缺点)
  • 如果要在步骤之间保存用户信息,则需要AJAX。
  • 如果用户不小心按下后退按钮等,如果没有AJAX和javascript,用户可能会丢失很多条目。