Questo esplicitamente non fa parte dei passaggi.
C’è una differenza tra la creazione di un campo utente con quel nome e l’avere un campo personalizzato con quel nome. Quindi l’hash viene memorizzato nel posto sbagliato.
Il problema è che penso che quest’ultimo (un campo personalizzato) non sia accessibile tramite l’API.
Penso che il modo migliore per procedere sia avere del codice personalizzato una tantum che sposti il contenuto del campo utente nell’effettivo campo personalizzato.
(Ho considerato di modificare il plugin in modo che esamini anche il campo utente, ma penso che esporre questi hash all’interfaccia utente sia un rischio per la sicurezza, quindi non lo farò).
Questo funzionerà, eseguilo da una console rails (ti taggo in modo che tu veda la modifica @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