在这里快速提问。
我正在为用户创建一个 3 步表单 - 所有 AJAX(并使用设计)。用户在第一步创建,并在后两步更新。
现在的问题是,如果用户在浏览器中点击后退按钮返回到第一步,Devise 会自动将表单操作更改为update
. 但是,我的update
操作会渲染部分,而这些部分只能通过 Ajax 在步骤 2 和 3 中渲染。
我怎样才能使用户在点击后退按钮时注销,以便第一个表单始终是一个new_user
表单?
在这里快速提问。
我正在为用户创建一个 3 步表单 - 所有 AJAX(并使用设计)。用户在第一步创建,并在后两步更新。
现在的问题是,如果用户在浏览器中点击后退按钮返回到第一步,Devise 会自动将表单操作更改为update
. 但是,我的update
操作会渲染部分,而这些部分只能通过 Ajax 在步骤 2 和 3 中渲染。
我怎样才能使用户在点击后退按钮时注销,以便第一个表单始终是一个new_user
表单?
一种解决方案是完全禁用浏览器中的后退按钮。
您可以使用模态来实现这三个步骤。如果您使用的是 Ajax,请完全使用它。
这样,浏览器上就没有“后退”按钮。但是您仍然可以在模态窗口上拥有“后退”按钮,在这种情况下,后退选项完全由您控制。
添加
为了可用性,您应该允许用户随时更新他们的信息,而不是在注册后强制他们完成。
我不知道你接下来的两个步骤是什么。但是你可以
设置update
方法以在用户尚未完成时呈现接下来的两个步骤,或者在完成时呈现其他信息。
如果用户已登录但尚未完成这两个步骤,则显示通知。
通过这些,您应该能够确保用户在他们的浏览器上所做的任何事情,他都可以看到他接下来需要做什么。这些应该适用于 Ajax 或非 Ajax。