Rails - 构建向导。从哪里开始,在哪里存储

时间:2010-12-15 06:13:28

标签: ruby-on-rails

我有兴趣为我的网络应用构建一个向导,用户在首次登录时使用该向导有3个简单的步骤:

  • 上传个人资料照片
  • 个人资料信息
  • 寻找朋友

那种事。所以我的问题是我如何用Rails做到这一点?

GettingStarted基本上有3个视图。使用下一个/后退/跳过按钮。我在哪里提交?如何跟踪当前视图并决定如何显示下一个视图?

我意识到这是一个更大/更广泛的问题,并欣赏任何高级别的思考,你可以分享如何巧妙地处理这个问题。

谢谢!

2 个答案:

答案 0 :(得分:2)

在最终决定解决方案之前必须考虑一些因素。例如,在转到实际应用程序之前,是否必须完成此向导,或者是否可以通过(例如)从其他计算机登录来完全绕过该向导?

假设可以绕过它,我会创建一个名称空间(例如,getting_started),它有三个嵌套资源:照片,个人资料和朋友。实际上没有必要跟踪用户在哪个步骤,因为您可以在提交后从一个步骤转发到下一个步骤,并在必要时添加返回和跳过按钮。

但最重要的一点是命名此向导,并避免使用特定于向导的操作来污染这些资源的“正常”控制器。通过这种方式,事情可以保持完整和有条理。

路线可能类似于:

namespace :getting_started do
  resource :photo, :only => [:edit, :update]
  resource :profile, :only => [:edit, :update]
  resources :friends, :only => [:index, :create]
end

答案 1 :(得分:1)

看看这个railscast。我想这对你来说是一个很好的起点。

http://railscasts.com/episodes/217-multistep-forms