Ajouter un paramètre personnalisé par utilisateur dans un plugin

Je teste ceci ici

et cela compile bien. Je ne suis pas sûr de la fonctionnalité car je n’ai jamais utilisé le plugin et je n’ai aucune idée de ce qu’il faut tester.

La signature de la méthode register_editable_user_custom_field est un nom de champ et un indicateur optionnel pour le marquer comme staff_only, donc d’après ce que je peux dire, passer un tableau est inattendu ?

3 « J'aime »

Oui, c’est inhabituel ?

Mais apparemment, la solution de David semble résoudre le problème.

Ceci :

  register_editable_user_custom_field :geo_location if defined? register_editable_user_custom_field
  register_editable_user_custom_field geo_location: {} if defined? register_editable_user_custom_field

casse. Ceci ne casse pas :

 register_editable_user_custom_field [:geo_location,  geo_location: {}] if defined? register_editable_user_custom_field

Est-ce que la version Ruby a forcé ce changement ?

Dans tous les cas, je pense que nous avons une solution et devrions mettre à jour le message initial ?

Je devrai apporter une modification à un autre plugin et mettrai à jour le wiki ci-dessus si je suis satisfait.

2 « J'aime »

Pour information, cela semble fonctionner à la fois pour la construction et le fonctionnement :tada:

Merci pour votre aide.

2 « J'aime »

Je pense que c’est ceci, Separation of positional and keyword arguments in Ruby 3.0

5 « J'aime »

Bonjour :wave:

J’essaie de créer un champ utilisateur personnalisé à partir d’un plugin, mais je ne suis pas sûr de bien comprendre ce que vous décrivez ici. Dans mon plugin, si je fais :

register_editable_user_custom_field 'foo'

Dois-je toujours utiliser les connecteurs d’outlets de plugin pour l’afficher sur le profil utilisateur et la carte utilisateur ?

Ou existe-t-il un mécanisme comme le champ personnalisé dans l’administration qui peut l’ajouter automatiquement (y compris dans le répertoire des utilisateurs) ? Je veux éviter d’ajouter un connecteur et un champ de sérialisation s’il existe déjà un moyen de le faire.

Merci de votre aide !

1 « J'aime »

Voyez ? :

1 « J'aime »

Bonjour @merefield, merci pour le lien mais ce n’est pas ce que je demande. On dirait que c’est pour rendre un champ personnalisé créé dans l’admin non visible sauf avec une clé API du personnel.

Si je ne suis pas clair, laissez-moi reformuler : y a-t-il un moyen d’enregistrer un champ utilisateur personnalisé avec un plugin, tout comme nous pouvons le faire dans les « Champs utilisateur » de l’administrateur (modifiable, consultable, affiché sur le profil utilisateur, sur la carte utilisateur, etc.) ?

2 « J'aime »

Mes excuses, je me demande si cela pourrait être plus utile alors ? :

Tous les modèles principaux ont une capacité de champ personnalisé.

2 « J'aime »