Come accedo ai campi personalizzati in un componente del tema?

In ‘Our solution for blurring NSFW content’, ho utilizzato il seguente frammento di codice per accedere al valore di un campo utente. Sembra che non funzioni più: u.custom_fields non contiene più alcun dato:

var u = Discourse.User.current();
if (u.custom_fields.user_field_2) {
    $('body').addClass('nsfw-always-show' );
}

Ho appena aggiornato all’ultima versione e ho testato in modalità sicura, ma il problema persiste:

Qualcosa è cambiato in questa interfaccia? Qual è il metodo consigliato per accedere ai campi utente?

Ho testato questo sull’ultima versione e in modalità sicura con tutti i plugin e i temi disabilitati.

Potresti provare qualcosa del genere:

<script type="text/discourse-plugin" version="0.8.27">
let currentUser = api.getCurrentUser();

if (currentUser) {
        api.container.lookup('store:main').find('user', currentUser.username).then((user) => {
        console.log('user', user.user_fields);
    });
}
</script>

Consulta Utilizzo della PluginAPI nelle personalizzazioni del sito per ulteriori dettagli sul tipo di script "text/discourse-plugin".