Столкнулся с ошибкой ActionDispatch::Cookies::CookieOverflow. Оказалось что по дефолту сессия хранится в cookies и, соответственно, максимальный размер данных в сессии не может превышать 4 килобайт.

Чтобы получить возможность хранить в сессии больше данных, нужно изменить хранилище. Подходящий вариант - это хранить сессии в базе. Что для этого нужно сделать:

Добавляем в Gemfile

gem 'activerecord-session_store', github: 'rails/activerecord-session_store'

Затем в консоли запускаем

rails generate active_record:session_migration
rake db:migrate

После этого в файле config/initializers/session_store.rb указываем где хранить сессию:

Foo::Application.config.session_store :active_record_store