Agregar una configuración personalizada por usuario en un plugin

Estoy probando esto aquí

y compila bien. No estoy seguro de la funcionalidad, ya que nunca he usado el plugin y no tengo idea de qué probar.

La firma del método register_editable_user_custom_field es un nombre de campo y una bandera opcional para marcarlo como staff_only, por lo que, hasta donde yo sé, ¿pasar un array es inesperado?

3 Me gusta

¿Sí, es inusual?

Pero aparentemente la solución de David parece resolver el problema.

Esto:

  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

falla. Esto no:

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

¿Parece que la versión de Ruby forzó este cambio?

En cualquier caso, creo que tenemos una solución y deberíamos actualizar el OP.

Necesitaré hacer un cambio en un plugin más y actualizaré la wiki anterior si estoy satisfecho.

2 Me gusta

Para tu información, parece que está funcionando tanto en la construcción como en el funcionamiento :tada:

Gracias por tu ayuda.

2 Me gusta

Creo que es esto, Separation of positional and keyword arguments in Ruby 3.0

5 Me gusta

Hola :wave:

Estoy intentando crear un campo de usuario personalizado desde un plugin, pero no estoy seguro de entender completamente lo que describes aquí. En mi plugin, si hago:

register_editable_user_custom_field 'foo'

¿Aún debería usar los conectores de los outlets del plugin para mostrarlo en el perfil del usuario y en la tarjeta del usuario?

¿O existe un mecanismo como el campo personalizado en el administrador que pueda agregarlo automáticamente (incluso en el directorio de usuarios)? Quiero evitar agregar un campo de conector y serializador si ya existe una forma de hacerlo.

¡Gracias por tu ayuda!

1 me gusta

¿Ves?:

1 me gusta

Hola @merefield, gracias por el enlace pero no es lo que estoy preguntando. Parece que es para hacer que un campo personalizado creado en el administrador no sea visible excepto con una clave API de personal.

Si no fui claro, permítame reformular: ¿hay alguna forma de registrar un campo de usuario personalizado con un plugin, al igual que podemos hacerlo dentro de los “Campos de usuario” del administrador (editable, buscable, mostrado en el perfil del usuario, en la tarjeta del usuario, etc.)?

2 Me gusta

Disculpas, ¿me pregunto si esto podría ser más útil entonces?:

Todos los modelos principales tienen una capacidad de campo personalizado.

2 Me gusta