Rails:Cookieoverflow。 Rails什么时候使用cookies而不让我知道?

时间:2011-05-12 11:53:13

标签: ruby-on-rails cookies overflow

没有发布我对Cookieoverflow的确切问题,我想问一下,什么会导致CookieOverflow?

我只有一个会话-var session[:user] = @user,这是当前登录的帐户。

在我的整个应用程序中,我对CookieOverflow没有任何问题,但在一个操作中,我没有使用session-或cookies-var,我得到了CookieOverflow。

因此,如果不是session[]cookies[]的错误使用,那么在不详细检查我的问题的情况下,什么可能导致CookieOverflow?

我真的不认为用户的这个session-var确实是问题...我评论它并仍然得到错误。

所以问题确切地说,“在什么情况下Rails使用cookie,没有我明确的调用?/什么时候Rails使用cookies,不让我知道它?”

此致,

Joern

2 个答案:

答案 0 :(得分:4)

@user是User模型的一个实例,我假设?

快速谷歌搜索建议将模型存储在cookie中是一个坏主意: http://www.quarkruby.com/2007/10/21/sessions-and-cookies-in-ruby-on-rails#slimitations

会话cookie大小非常小(约4kb),可能是@user实例比那个大吗?也许你可以在会话中存储@ user.id?

此外,当您对模型中其他位置的@user引用的对象进行更改时,可能会出现错误;如果会话cookie正在跟踪此对象,那么这可能会超过4kb的限制。

只是一些想法 - 很高兴被那些声名显赫的人纠正。

答案 1 :(得分:3)

你不能在cookies中存储超过4k的数据。我认为你的@user变量大小超过4k。这就是错误被提出的原因