Ciao community di Discourse!
Sono nuovo a Discourse e sto cercando di usare le mie poche conoscenze di Ruby. Grazie per il vostro aiuto!
Ecco il mio progetto:
Ho creato campi personalizzati per conoscere meglio un nuovo utente e ora voglio aggiornare il campo personalizzato per i vecchi utenti.
Voglio visualizzare la mia domanda al login se il campo è vuoto.
Se ho capito bene Discourse, devo programmare un plugin.
Avete qualche consiglio o esempio in mente per questa prima sfida?
Grazie in anticipo!
Nella console di Rails, uso
UserCustomField.where.not(value: [nil])
per trovare gli utenti che hanno già risposto, ma per il resto sono bloccato…
Come posso ottenere gli utenti che non hanno risposto alla domanda?
Immagino che dovrò scoprirlo più tardi.
Due suggerimenti:
-
Considera di chiedere come risolvere il tuo problema (far compilare il campo agli utenti). Il plugin “user wizard” potrebbe essere una soluzione?
-
Sposta questo in Dev e chiedi lì. Penso che potrebbe essere possibile con un componente del tema se i valori sono nel serializer.
Per entrambi, cambia l’oggetto in qualcosa come “come posso obbligare gli utenti a compilare un campo personalizzato quando è vuoto”
Non ho una risposta molto buona, però. ![]()
A quella specifica domanda, supponendo che una domanda senza risposta sia NULL nel database, puoi semplicemente sostituire where.not(value: [nil]) con where(value: nil).
Puoi anche usare where(value: [nil, ""]), che è equivalente a WHERE (something.value IS NULL OR something.value = "") in SQL, per cercare una stringa vuota o NULL. Non sono sicuro di quale sia più probabile o se sia probabile che cambi (da NULL a “”) se un utente invia un campo vuoto.
Grazie @pfaffman. Seguirò il tuo consiglio. ![]()
Grazie @Simon_Manning per questa precisazione. Mi aiuterà molto!
Questo plugin è fantastico. Grazie @pfaffman
Grazie ancora ragazzi. Il plugin wizard personalizzato funziona molto bene ![]()