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