カスタムRubyファイルでパスワードをリセット

これは明示的に 手順の一部ではありません。

その名前のユーザーフィールドを作成することと、その名前のカスタムフィールドを持つことには違いがあります。そのため、ハッシュは間違った場所に保存されています。

問題は、後者(カスタムフィールド)はAPIを使用してアクセスできないと思うことです。

最も良い解決策は、ユーザーフィールドの内容を実際のカスタムフィールドに移動する、カスタムの使い捨てコードを用意することだと思います。

(プラグインを変更してユーザーフィールドも確認するようにすることも検討しましたが、UIにこれらのハッシュを表示することはセキュリティリスクがあると思うので、それはしません。)

これは機能します。レールコンソールから実行してください(編集に気づくようにタグ付けします @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
「いいね!」 2