Comment forcer les utilisateurs à remplir un champ personnalisé lorsqu'il est vide

Bonjour communauté Discourse !
Je suis nouveau sur Discourse et j’essaie d’utiliser mes quelques connaissances en Ruby. Merci de votre aide !
Voici mon projet :
J’ai créé des champs personnalisés pour mieux connaître un nouvel utilisateur et je souhaite maintenant mettre à jour le champ personnalisé pour les anciens utilisateurs.
Je veux afficher ma question à la connexion si le champ est vide.
Si je comprends bien Discourse, je dois coder un plugin.
Avez-vous une astuce ou un exemple en tête pour ce premier défi ?
Merci d’avance !

1 « J'aime »

Dans la console Rails, j’utilise

UserCustomField.where.not(value: [nil])

pour trouver les utilisateurs qui ont déjà répondu, mais pour le reste, je suis à sec…
Comment obtenir les utilisateurs qui n’ont pas répondu à la question ?
Je suppose que je devrai trouver cela plus tard.

Deux suggestions :

  • Envisagez de demander comment résoudre votre problème (amener les utilisateurs à remplir le champ). Le plugin assistant utilisateur pourrait être une solution ?

  • Déplacez ceci dans Dev et demandez-y. Je pense que ce serait possible avec un composant de thème si les valeurs sont dans le sérialiseur.

Pour l’un ou l’autre, changez l’objet pour quelque chose comme « comment puis-je forcer les utilisateurs à remplir un champ personnalisé lorsqu’il est vide »

Je n’ai cependant pas de très bonne réponse. :person_shrugging:

1 « J'aime »

Pour cette question spécifique, en supposant qu’une question sans réponse soit NULL dans la base de données, vous pouvez simplement remplacer where.not(value: [nil]) par where(value: nil).

Vous pouvez également utiliser where(value: [nil, ""]), ce qui est équivalent à WHERE (something.value IS NULL OR something.value = "") en SQL, pour rechercher une chaîne vide ou NULL. Je ne suis pas sûr de ce qui est le plus probable ou s’il est probable que cela change (de NULL à “”) si un utilisateur soumet un champ vide.

1 « J'aime »

Merci @pfaffman. Je vais suivre votre conseil. :+1:

2 « J'aime »

Merci @Simon_Manning pour cette précision. Cela va beaucoup m’aider !

2 « J'aime »

Ce plugin est génial. Merci @pfaffman

2 « J'aime »

Merci encore les gars. Le plugin Custom wizard fonctionne très bien :+1:

2 « J'aime »