Файлы cookie Rails 3 не останутся постоянными - PullRequest
0 голосов
/ 01 июля 2011

Я недавно обновился до Rails 3.0.7 (с Rails 2) и вдруг обнаружил, что мои куки больше не работают.Раньше мне удавалось установить срок годности и все было хорошо.Я знаю о новом способе работы cookie.permanent, но он тоже не работает (и я понимаю, что старый способ должен работать в любом случае).

Вот мой код, он очень простойвперед:

cookies[:remember_me_id] = { :value => user.id.to_s, :expires => 365.days.from_now }
cookies[:remember_me_code] = { :value => Digest::SHA256.hexdigest(user.cookie_code), :expires => 365.days.from_now }

Просто чтобы быть на 100% ясным, я также попробовал это:

cookies.permanent[:remember_me_id] = user.id.to_s
cookies.permanent[:remember_me_code] = Digest:SHA256.hexdigest(user.cookie_code)

Файлы cookie созданы, но проблема в том, что они истекают, когдабраузер закрывается.Я проверил это в Firefox и IE.В Firefox, когда я захожу, чтобы просмотреть cookie, он говорит, что срок действия истекает, когда браузер закрывается.Это совсем не то, что я хочу.

Есть что-то простое, что я здесь упускаю?Какие-то новые настройки Rails 3, которые нужно установить, чтобы куки сохранялись?

1 Ответ

1 голос
/ 18 июля 2011

Я сталкивался с такой же проблемой, но только при разработке с WEBrick в среде MS Windows: Rails 3.0.5, ruby ​​1.8.7 (2011-02-18 patchlevel 334) [i386-mingw32].

Я считаю, что срок действия файлов cookie работает должным образом при выполнении того же кода на WEBrick, работающем в моей обычной среде Linux: Rails 3.0.5, ruby ​​1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]). Оба метода, описанные выше (параметр: явно истекает или используется «постоянный» метод доступа), по-видимому, работают на моем компьютере с Linux.

Поскольку проблема, по-видимому, изолирована от среды Windows, я не искал исчерпывающего решения ... но беглый поиск не дал ответа. Тебе еще повезло с этим вопросом?

Вы разрабатываете для Windows, и переключение сред разработки для вас вариант? (очевидно, не идеальный)

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