快速问题在这里。导轨,退出浏览器后退按钮
我为用户创建了3步表单 - 所有AJAX(并使用Devise)。用户在第一步创建,并在第二步中更新。
现在,问题是,如果用户在浏览器中点击后退按钮返回到第一步,设计会自动将表单动作更改为update
。但是,我的动作update
呈现的部分只能通过Ajax在步骤2和3中呈现。
如何使用户在按下后退按钮时注销,以便第一个窗体始终为new_user
窗体?
快速问题在这里。导轨,退出浏览器后退按钮
我为用户创建了3步表单 - 所有AJAX(并使用Devise)。用户在第一步创建,并在第二步中更新。
现在,问题是,如果用户在浏览器中点击后退按钮返回到第一步,设计会自动将表单动作更改为update
。但是,我的动作update
呈现的部分只能通过Ajax在步骤2和3中呈现。
如何使用户在按下后退按钮时注销,以便第一个窗体始终为new_user
窗体?
一个解决方案是在浏览器中关闭后退按钮。
您可以使用模式来实现这三个步骤。如果您正在使用Ajax,请使用它。
由此,浏览器上没有“返回”按钮。但是你的模式窗口上仍然可以有“后退”按钮,在这种情况下,后退选项完全在你的控制之下。
添加
可用性,你应该允许用户随时更新的,而不是强迫他们完成所有签约之后他们的信息。
我不知道你接下来的两个步骤是什么。但是你可以
设置的update
方法来呈现下两步如果用户还没有完成他们,或者如果完成渲染等信息。
如果用户已登录但未完成这两个步骤,请显示通知。
通过这些,你应该能够确保用户在浏览器上做的任何事情,他可以看到他需要做的下一步。这些应该适用于Ajax或不适用Ajax。
我喜欢这样 - 但如果我在做这并使用设计进行身份验证,用户仍然登录正确?所以,他们可以点击刷新按钮,我也有同样的问题。 – abhir 2013-04-08 01:46:21
@abhir,检查我的更新答案。 – 2013-04-08 01:54:50
您是否需要在第一步创建对象?您是否尝试过使用恶意[gem](https://github.com/schneems/wicked)来创建表单? – stephenmurdoch 2013-04-08 01:16:50
好吧,我选择Devise的原因是这个对象确实是在第一步创建的(我可以稍后更新它)。 – abhir 2013-04-08 01:26:44
wicked是创建多步表单的宝石,所以你的对象不会被创建,直到最后一步,这将允许你以你想要的方式使用后退按钮 – stephenmurdoch 2013-04-08 01:41:07