如何在轨道中保持状态?

时间:2016-11-21 06:58:25

标签: ruby-on-rails forms

这是一种多步形式。我需要将用户带回他之前离开的步骤。没有用户登录。 我坚持“是否有可能在没有登录的情况下维护用户详细信息?!”。  任何人都可以告诉我在铁轨上做最好的方法是什么?!

TIA!

2 个答案:

答案 0 :(得分:1)

Wickedruby gem,用于制作步骤向导表单。我认为它应该对你有帮助。

答案 1 :(得分:1)

有两种方法可以解决这个问题。您可以将半满的表单存储在服务器上,也可以将半满的表单存储在LocalStorage的用户浏览器中。

1)服务器方法

当用户单击下一步时,您可以通过AJAX调用将数据发送到服务器。您的服务器可以将其存储在表中并将id返回给浏览器。将此id存储在浏览器的LocalStorage或Cookie中。

当用户下次访问您的表单时,请检查您选择的存储中是否存在id,如果是,则从服务器获取数据并将用户移至表单的下一步。

  

您可能还需要考虑此方法中的安全含义。如果用户可以知道您正在存储id并获取半填充表单的获取URL,则他们可以迭代它们并获取其他用户的表单。因此,您可能会存储id以外的其他内容,但仍然使用此方法。

2)LocalStorage方法

一切都与之前的方法相同,但我们没有使用服务器来存储表单。只需使用浏览器存储表单,并在用户稍后访问网站时获取。 LocalStorage是一个永久存储空间,因此当用户重新打开浏览器时,它也可用。

我希望这能解决你的问题。