Rails: Cookieoverflow. Когда Rails использует куки, не сообщая мне об этом? - PullRequest
0 голосов
/ 12 мая 2011

без публикации моей точной проблемы с Cookieoverflow, я хочу спросить, что может вызвать CookieOverflow?

У меня есть только один сеанс-переменная session[:user] = @user, которая является текущей зарегистрированной учетной записью.

Во всем моем приложении у меня нет проблем с CookieOverflow, но в одном действии, когда я не использую сессию или куки-переменную, я получаю CookieOverflow.

Таким образом, без подробного изучения моей проблемы, что также может вызвать CookieOverflow, если это не ложное использование session[] и cookies[]?

Я действительно не думаю, что эта сессия var для пользователя действительно является проблемой ... Я закомментировал это и все еще получаю ошибку.

Таким образом, вопрос заключается в следующем: «В каких случаях Rails использует куки-файлы без моего явного вызова? / Когда Rails использует куки-файлы, не сообщая мне об этом?»

Ваш

Joern

Ответы [ 2 ]

4 голосов
/ 12 мая 2011

@ user - это экземпляр модели User, я полагаю?

Быстрый поиск в Google предлагает хранить модели в файлах cookie, это плохая идея: http://www.quarkruby.com/2007/10/21/sessions-and-cookies-in-ruby-on-rails#slimitations

Размер файла cookie сеанса довольно мал (~ 4 КБ), может быть, экземпляр @user больше этого? Возможно, вы могли бы просто сохранить @ user.id в сеансе?

Кроме того, ошибка может появиться при внесении изменений в объект, на который ссылается @user в другом месте модели; если cookie-файл сеанса отслеживает этот объект, это может привести к превышению лимита в 4 КБ.

Просто некоторые мысли - счастливы, что их исправляют те, кто пользуется большой репутацией.

3 голосов
/ 12 мая 2011

Вы не можете хранить более 4 тыс. Данных в файлах cookie. Я думаю, что размер ваших переменных @user превышает 4 тыс., Поэтому возникает ошибка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...