Rails - 会话不保存

时间:2011-05-04 05:37:26

标签: ruby-on-rails

我有一个已设置的会话,但它似乎没有转移到其他页面。我在Rails 2.3.5和Ruby 1.8.7上。还有其他人遇到过这个问题吗?

3 个答案:

答案 0 :(得分:2)

当CSRF验证失败时,我在Rails 3.1中遇到了这个问题。如果您手动使用标记而不是通过Rails提供的内置方法之一生成标记,则会发生这种情况。

在日志文件中搜索“csrf”(不区分大小写的搜索)。如果您看到显示csrf失败的日志条目,则Rails可能正在重置您的会话。

答案 1 :(得分:0)

您可能会丢失请求之间的会话,如果首先未正确建立请求,则可能会发生这种情况。如果您检查了cookie,由于验证失败,您可能会看到会话标识符发生变化,正在重新分配。

它也可能被分配给浏览器随后拒绝的域。如果应用程序配置为使用特定域,然后在另一个域下重新托管,甚至localhost,则会发生这种情况。

答案 2 :(得分:0)

您可能没有在布局中使用过csrf元标记。尝试删除controllers文件夹中application_controller.rb中的“防止伪造”。然后尝试再次运行该应用程序,如果它可以正常工作,那么您就没有为您的布局添加标签。