Отличная работа, @JammyDodger! Уверен, это именно то, что нужно!
Ещё один момент, на который стоит обратить внимание, — это метод ensure_consistency в модели пользователя. Вы можете посмотреть исходный код или просто попробовать:
u=User.find(123)
u.ensure_consistency!
Или, возможно, без !.