Сброс пароля с помощью пользовательского файла Ruby

Это явно не входит в перечень шагов.

Существует разница между созданием поля пользователя с таким именем и наличием пользовательского поля с таким именем. Поэтому хеш сохраняется в неправильном месте.

Проблема в том, что, по-моему, последнее (пользовательское поле) недоступно через API.
Я думаю, лучший выход — написать специальный одноразовый скрипт, который перенесёт содержимое поля пользователя в настоящее пользовательское поле.

(Я рассматривал возможность изменения плагина так, чтобы он также проверял поле пользователя, но считаю, что вывод этих хешей в интерфейс пользователя создаёт угрозу безопасности, поэтому делать этого не буду).

Это сработает, запустите из консоли Rails (отмечу вас, чтобы вы увидели правку @Hitesh_Sharma)

ufkey = "user_field_#{UserField.find_by(name: 'import_pass').id}"
User.all.each do |u|
  if u.custom_fields.key?(ufkey)
    u.custom_fields[:import_pass] = u.custom_fields[ufkey]
    u.custom_fields.delete(ufkey)
    u.save_custom_fields
  end
end