Aggiungi un'impostazione personalizzata per utente in un plugin

Sto testando qui

e funziona correttamente. Non sono sicuro della funzionalità poiché non ho mai usato il plugin e non ho idea di cosa testare.

La firma del metodo register_editable_user_custom_field è un nome di campo e un flag opzionale per contrassegnarlo come staff_only, quindi per quanto ne so, passare un array ad esso è inaspettato?

3 Mi Piace

Sì, è insolito?

Ma apparentemente la soluzione di David sembra risolvere il problema.

Questo:

  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

si interrompe. Questo non lo fa:

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

Sembra che la versione di Ruby abbia forzato questo cambiamento?

In ogni caso, credo che abbiamo una soluzione e dovremmo aggiornare l’OP?

Dovrò apportare una modifica a un altro plugin e aggiornerò la wiki sopra se sarò soddisfatto.

2 Mi Piace

Per tua informazione, sembra che funzioni sia la costruzione che il funzionamento :tada:

Grazie per il tuo aiuto.

2 Mi Piace

Penso sia questo, Separation of positional and keyword arguments in Ruby 3.0

5 Mi Piace

Ciao :wave:

Sto cercando di creare un campo utente personalizzato da un plugin ma non sono sicuro di aver compreso appieno ciò che stai descrivendo qui. Nel mio plugin, se faccio:

register_editable_user_custom_field 'foo'

Dovrei comunque usare i connettori dei plugin outlet per visualizzarlo sul profilo utente e sulla scheda utente?

O esiste un meccanismo come il campo personalizzato nell’amministrazione che può aggiungerlo automaticamente (anche nella directory degli utenti)? Voglio evitare di aggiungere campi connettore e serializzatore se esiste già un modo per farlo.

Grazie per il tuo aiuto!

1 Mi Piace

Vedi?:

1 Mi Piace

Ciao @merefield, grazie per il link ma non è quello che sto chiedendo. Sembra che serva a rendere un campo personalizzato creato nell’admin non visibile se non con una chiave API staff.

Se non sono stato chiaro, riformulo: c’è un modo per registrare un campo utente personalizzato con un plugin, proprio come possiamo fare all’interno dei “Campi utente” dell’admin (modificabile, ricercabile, mostrato sul profilo utente, sulla scheda utente, ecc.)?

2 Mi Piace

Mi scuso, mi chiedo se questo possa essere più utile allora?:

I modelli principali hanno tutti una capacità di Campi Personalizzati.

2 Mi Piace