我见过的所有身份验证插件都在实现一页用户注册——用户输入他的所有字段,然后立即提交。所以 Devise 身份验证确实如此。
包子现在我们有要求做多页注册向导。
如果我们不要求在第一页上创建用户,然后在其他页面上应该提供越来越多的信息并在每个页面提交后保存,那么使用 JQuery 实现它并在最后一个向导的页面上发布会很容易。
您如何建议在使用 Devise 身份验证的项目中实现这一点?这与用户的激活过程有何对应(我的意思是发送帐户确认电子邮件)?
我见过的所有身份验证插件都在实现一页用户注册——用户输入他的所有字段,然后立即提交。所以 Devise 身份验证确实如此。
包子现在我们有要求做多页注册向导。
如果我们不要求在第一页上创建用户,然后在其他页面上应该提供越来越多的信息并在每个页面提交后保存,那么使用 JQuery 实现它并在最后一个向导的页面上发布会很容易。
您如何建议在使用 Devise 身份验证的项目中实现这一点?这与用户的激活过程有何对应(我的意思是发送帐户确认电子邮件)?
多步表单与您使用的任何身份验证插件无关。这取决于你如何整合它。
由于您从一个页面到另一个页面有多个请求,因此复杂性变得更加困难。
- 我如何保存数据?
- 我什么时候创建数据库模型?
- 我应该使用隐藏字段在页面之间传递值还是应该将它们粘贴在会话中?
这些都是在某个时候弹出的问题,您应该尝试事先将它们整理出来。
在初始请求上创建模型有一个很大的缺点,即您最终可能会得到一个虚假的数据库条目,这显然是您不想要的。
例如,您可以创建一个临时模型,用于收集用户数据,最后创建真实的用户模型,通过设计,基于此 tmp 模型并在完成后将其删除...
Ryan Bates 在他的一个截屏视频中谈到了多步表单。http://railscasts.com/episodes/217-multistep-forms
可能对你来说很有趣。