Definisco un nuovo campo personalizzato per l’utente:
User.find_each do |user|
user.custom_fields['foo'] = 0
user.save_custom_fields
end
Questo funziona: ora ogni utente ha 8 campi personalizzati:
[18] pry(main)> User.find(1).custom_fields
=> {
"patreon_id" => "83297319",
"last_chat_channel_id" => 32,
"last_digest_special_post" => "275200",
"last_digest_favorite_post" => "279347",
"example_field" => "new value",
"ai_bot_query_count" => "0",
"ai_bot_query_date" => "2025-01-12",
"foo" => "0"
}
Data Explorer vede il nuovo campo:
SELECT * from user_custom_fields
WHERE name LIKE '%foo%'
LIMIT 10
Ora voglio usare il campo foo in javascript. Aggiungo del codice in /admin/customize/themes/3/common/head_tag/edit. Ma solo 2 degli 8 vengono visualizzati:
api.getCurrentUser().custom_fields
{
last_chat_channel_id: 32,
ai_bot_query_count: '0'
}
Cosa mi sto perdendo?
Moin
12 Gennaio 2025, 2:51pm
2
Hai aggiunto i tuoi campi utente all’impostazione del sito campi personalizzati utente pubblici?
Questa guida spiega come esporre i dati dei campi personalizzati utente tramite l’API senza visualizzarli su una scheda utente.
Livello utente richiesto: Amministratore
Questa guida ti accompagnerà nel processo di rendere i dati dei Campi Personalizzati Utente accessibili tramite API senza visualizzarli su una scheda utente. Questo può essere utile quando è necessario accedere programmaticamente ai dati utente personalizzati mantenendoli nascosti alla vista g…
Grazie, ha funzionato.
Un’altra domanda: questi campi utente personalizzati sono una cosa diversa?
Questa guida spiega come creare e configurare campi utente personalizzati in Discourse, incluso come aggiungerli al modulo di registrazione, ai profili utente e all’elenco degli utenti.
Livello utente richiesto: Amministratore
I campi utente personalizzati ti consentono di raccogliere informazioni aggiuntive dai tuoi utenti oltre ai campi del profilo standard. Questi campi possono essere visualizzati nelle schede utente, nelle pagine di riepilogo utente e per…