Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在使用Desive注册期间保留POST数据_Ruby On Rails_Ruby On Rails 3_Authentication_Devise - Fatal编程技术网

Ruby on rails 在使用Desive注册期间保留POST数据

Ruby on rails 在使用Desive注册期间保留POST数据,ruby-on-rails,ruby-on-rails-3,authentication,devise,Ruby On Rails,Ruby On Rails 3,Authentication,Devise,我可能用错误的方式处理这个问题。。。所以,如果你有更优雅的解决方案,我洗耳恭听 想象一下,我正在制作一个类似Kickstarter的系统。我希望我的用户在我要求他们注册之前能够指定他们想要承诺的金额 然后,如果他们没有注册,我需要他们先注册,然后再将他们放回到流中,如果他们刚刚登录的话,他们本来会在流中。Deviate通过将用户重定向回的登录后路径,而默认情况下,该路径是登录后路径 因此,这将始终发出GET请求。但如果我有从帖子上收到的数据,以及他们想要承诺的金额,但这已经丢失了 这样做的唯一方

我可能用错误的方式处理这个问题。。。所以,如果你有更优雅的解决方案,我洗耳恭听

想象一下,我正在制作一个类似Kickstarter的系统。我希望我的用户在我要求他们注册之前能够指定他们想要承诺的金额

然后,如果他们没有注册,我需要他们先注册,然后再将他们放回到流中,如果他们刚刚登录的话,他们本来会在流中。Deviate通过将用户重定向回的登录后路径,而默认情况下,该路径是登录后路径

因此,这将始终发出GET请求。但如果我有从帖子上收到的数据,以及他们想要承诺的金额,但这已经丢失了


这样做的唯一方法是在会话中存储发布的数据吗?或者有没有一种聪明的方法可以在没有用户的情况下开始创建质押记录(无需运行作业来销毁孤立的质押记录)?

我发现highgroove.com上这篇博客文章中描述的方法在这方面非常有趣:

其基本思想是始终有一个匿名用户在手,即使当前访问者未注册。这样,您可以像往常一样创建关联,一旦访问者真正注册,您就可以编辑用户而不是所有关联对象

如果用户从未注册过,您可以简单地查找废弃的用户帐户并删除它们,包括它们的关联,而不是查找所有类型的废弃模型