Если файлы cookie отключены, CGI: Sessions автоматически переключится на использование скрытых полей, однако я не уверен, как именно это поведение поддерживается в Rails.Кроме того, изменение этого поведения, требующее использования скрытых полей, может потребовать изменения CGI: Session.
Если у клиента отключены файлы cookie, идентификатор сеанса должен быть включен в качестве параметра всех запросов, отправленныхклиент на сервер.Класс CGI :: Session вместе с классом CGI будет прозрачно добавлять идентификатор сеанса в качестве скрытого поля ввода для всех форм, созданных с использованием метода генерации HTML CGI # form ().Не предоставляется встроенная поддержка для других механизмов, таких как перезапись URL.Вызывающий отвечает за извлечение идентификатора сеанса из атрибута session_id и ручное кодирование его в URL-адресах и добавление его в качестве скрытого ввода в формы HTML, созданные другими механизмами.Кроме того, срок действия сессии не обрабатывается автоматически.
Следовательно, этот метод должен быть возможен, но, насколько я знаю, он не поддерживается как простой параметр в Rails.
Для ясности, даже хранилище сеансов ActiveRecord использует файлы cookie, поэтому не приравнивайте хранилища сеансов к способу обработки данных сеанса клиентом.
Наконец, когда-то были плагины для поддержки этого поведения, ноэти плагины старые, кажется, не поддерживают Rails 3. См. раздел «Сеанс без cookie» Сеансы и файлы cookie в Ruby on Rails