Я искал более подробный ответ и в итоге нашел его в ходе расследования.Следующее применимо, если ваш проект хранит свой сеанс в базе данных Postgres.
ПРИМЕЧАНИЕ: Ваше приложение может иметь подключения более чем к одной БД.Я до сих пор не понял, как Rails определяет, какие из этих соединений использовать.session_store.rb
моего проекта пусто.
Вы найдете флэш-сообщения в таблице sessions
.Существует столбец с именем data
, содержащий строку в кодировке base64.
Если вы расшифруете строку, вы найдете двоичный двоичный объект, который содержит не только флэш-сообщения (в виде маршала, поэтому они могут представлять любой тип объекта Ruby), но также маркер CSRF и несколькодругие вещи.
Весь блоб на самом деле представляет собой маршаллированный хеш-стол.Он может быть распакован в Ruby с помощью Marshal.load
, а после внесения любых изменений он может быть перезапущен с помощью Marshal.dump
.