Rails,在浏览器中的后退按钮上注销

时间:2013-04-08 01:08:02

标签: ruby-on-rails ajax devise

快速提问。

我为用户创建了一个3步表单 - 所有AJAX(并使用Devise)。用户在第一步创建,并在后两步更新。

现在,问题是如果用户点击浏览器中的后退按钮返回第一步,则Devise会自动将表单操作更改为update。但是,我的update操作呈现的部分内容只应通过Ajax在步骤2和3中呈现。

如何在按下后退按钮时将用户注销,以便第一个表单始终为new_user表单?

1 个答案:

答案 0 :(得分:3)

一种解决方案是根本禁用浏览器中的后退按钮。

您可以使用模态来实现这三个步骤。如果您使用的是Ajax,请完整使用它。

这样,浏览器上没有“后退”按钮。但是你仍然可以在你的模态窗口上有“后退”按钮,在这种情况下,后退选项完全由你控制。

添加

为了便于使用,您应该允许用户随时更新他们的信息,而不是强迫他们在注册后完成所有信息。

我不知道接下来的两个步骤是什么。但你可以

  1. 如果用户尚未完成,则设置update方法以呈现接下来的两个步骤,如果已完成,则设置其他信息。

  2. 如果用户已登录但尚未完成这两个步骤,则显示通知。

  3. 通过这些,您应该能够确保用户在浏览器上执行的操作,他可以​​看到下一步需要做什么。这些应该适用于Ajax或没有Ajax。