当用户没有完成注册步骤时,我想将其重定向到他们的帐户页面

时间:2014-11-02 17:19:05

标签: html ruby-on-rails ruby ruby-on-rails-4

所以,我有一个具有3步注册过程的应用程序,在第一页/步骤中他们需要输入电子邮件和密码,第二页/步骤需要填写他们的地址和组织详细信息以及他们输入CC信息所需的第三页/步骤。

现在在某些情况下,用户可以填写第一页的步骤,然后在第二页上关闭浏览器。如果发生这种情况,他们仍然可以使用他们的电子邮件+密码登录,但是他们应该只限于查看帐户页面,直到他们填写剩余的所需详细信息。

我怎么能做到这一点?

很高兴根据要求提供任何必要的代码!

干杯!

3 个答案:

答案 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并重定向到第二个页面视图。