У меня есть приложение Rails 2.3.5, которое я перевожу на Rails 3.0.10, в котором возникла проблема с сессиями.
Некоторый код завершается ошибкой во время интеграционных тестов, поскольку у сессии нет идентификатора(request.session - пустой хеш, а request.session_options [: id] - ноль).В настоящее время мы используем webrat, но то же самое происходит с капибарой и стандартными помощниками рельсов.Сессии, похоже, настроены правильно, поскольку некоторые интеграционные тесты имеют идентификаторы сессий.Похоже, что идентификатор сеанса отсутствует только в тестах, которые не регистрируются перед попыткой доступа к идентификатору сеанса (т. Е. Большинству из них).
Я попытался переключить бэкэнд сеанса (в настоящее время он основан на файлах cookie).) к ActiveRecord, но это не помогло.Я создал новое приложение Rails 3.0.10, и оно также имеет нулевые идентификаторы сессии.Я даже копался в обработке сеансов Rails, и похоже, что при отсутствии сеанса сгенерированный идентификатор сессии не генерируется.
Является ли это отсутствие ожидаемого поведения идентификаторов сеансов документированным где-нибудь?Если это ошибка, существует ли версия Rails, которая правильно генерирует идентификаторы сессии?