这是我的情况:
注意:刚注册时,填写表格,将带您进入欢迎页面,然后单击一个按钮继续,该操作会将您带到设置页面以设置个人资料,然后再进行设置有权访问该应用程序。
注意:如果主动登录,则应用会话为5小时
但是,当用户注册时,他们被重定向到WelcomePage,此刻,举个例子,紧急情况发生了,他或她没有进入下一步,即设置,进入设置阶段。 /她回来,他/她被重定向到设置页面
这是我在下面所做的操作,当用户离开紧急状态并返回时,这对我不起作用,这应该是将他/她带到设置路径/页面。 < / p>
我已完成但无法正常工作
我在应用程序控制器中创建了一个新方法,并将其传递给create动作以重定向到该路径,但是我认为这不是最好的解决方案。
sessions_controller 创建操作
def create
if verify_recaptcha
@member = Member.from_auth(auth_hash)
end
if @member
if @member.disabled?
increase_failed_logins
redirect_to signin_path, alert: t('.disabled')
else
clear_failed_logins
reset_session rescue nil
session[:member_id] = @member.id
save_session_key @member.id, cookies['_peatio_session']
save_signup_history @member.id
MemberMailer.notify_signin(@member.id).deliver if @member.activated?
if @member.disabled?
redirect_back_or_settings_page # here is the method
else
redirect_back_to_success_page # here is the method
end
end
elsif (!verify_recaptcha)
redirect_to signin_path, alert: t('.put_capture')
else
increase_failed_logins
redirect_to signin_path, alert: t('.error')
end
end
应用程序控制器中的对应方法
def redirect_back_or_settings_page
if cookies[:redirect_to].present?
redirect_to cookies[:redirect_to]
cookies[:redirect_to] = nil
else
redirect_to settings_path
end
end
def redirect_back_to_success_page
if cookies[:redirect_to].present?
redirect_to cookies[:redirect_to]
cookies[:redirect_to] = nil
else
redirect_to signup_success_index_path
end
end
我该如何处理?
答案 0 :(得分:0)
您能否详细说明“例如发生紧急情况”?如果有什么事情可以解决,则可能会影响注册过程。我会将整个内容包装在begin ... rescue块中,以确保始终从服务器获得正确的响应。
您还希望确保其“用户”的实际状态在数据库中得以保留。如果前端出现问题,则不应影响服务器知道的内容。永远不要信任客户。
登录方式如下:
您是否听说过设计,顺便说一句?使这变得容易得多。
干杯!