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