所以,我有一个应用程序,它有一个3步注册流程,在第一页/步骤中,他们需要输入电子邮件和密码,在第二页/步骤时,他们需要填写地址和组织详细信息,在第三页/步骤中,他们要求输入CC信息。
现在,在某些情况下,用户可以填写第一个页面步骤,然后在第二个页面上关闭浏览器。如果发生这种情况,他们仍然可以使用电子邮件+密码登录,但在填写其余所需详细信息之前,他们只能查看帐户页面。
我该如何做到这一点?
很乐意根据要求提供任何必要的代码!
干杯!
您可以在用户表中添加状态标志,并根据用户的配置文件是否完成对其进行更新。登录后,您可以为登录的用户检查该属性的值,执行所需的操作,如重定向到帐户页面等。
在第一页上,创建一个"下一步"按钮,并显示这样做将创建用户帐户的消息。
单击"下一步",创建他/她的帐户。
在application_controller.rb 中设置前置过滤器
def account_complete
如果user_second_attributes.nil?
redirect_to second_page
elsif user_third_attributes.nil?
redirect_to third_page
其他
redirect_to admin page
完结束
如果其他条件是检查数据库中是否存在任何数据。
如果第二页属性不存在,它将重定向到第二页如果第三页属性不存在,它将重定向到第三页如果所有数据都存在,它将转到主页
在这种情况下,我会将用户登录信息与地址信息分离,这样您就可以分离所需的字段。
如果用户单击"下一页"(第二页),则您的网站必须创建一个没有地址的新用户(例如,具有has_one:address_field、validates_presence_of:address_field、:on=>:update)。
当你的用户登录时,你可以检查,如果地址!=null并重定向到第二个页面视图。