Вы просто хотите сериализовать список действий, которые необходимо выполнить после создания учетной записи. Вы можете сохранить это в сеансе, постоянном кэше, таком как memcached (хотя вам не гарантировано постоянство), или пользовательской модели / таблице. На самом деле в Rails не существует единого приемлемого способа сделать это, так что вам остается только решить, как вы это реализуете.
Что вы можете сделать, если вы хотите придерживаться способа работы Rails, это установить флаг transient
для записи, а затем сохранить его. Как только пользователь зарегистрируется, вы можете убрать переходный флаг. Запустите задание cron, которое уничтожит все временные записи старше 10 минут, и все ваши обратные вызовы before_destroy должны быть запущены, чтобы вы могли откатить любые изменения состояния, которые они вызвали. Это «тяжелое» решение, но оно простое в реализации и позволяет легко использовать модели Rails.