rails多步形式的最佳实践?

Tho*_*mas 1 forms rubygems ruby-on-rails

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

ssc*_*rus 6

如果没有更多的信息,你的问题有点难以回答,真正的答案将是一个详细的教程(如Railscast),而不是一个SO答案,但这里有一些想法让你顺利.

多步形式有两种主要方法:

  1. 使用Javascript逐位显示表单

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

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

优点1

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

缺点1

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