Fügen Sie eine benutzerdefinierte Einstellung pro Benutzer in einem Plugin hinzu

Ich teste das hier

und es funktioniert. Ich bin mir bei der Funktionalität nicht sicher, da ich das Plugin noch nie benutzt habe und keine Ahnung habe, was ich testen soll.

Die register_editable_user_custom_field-Methode hat als Signatur einen Feldnamen und ein optionales Flag, um ihn als staff_only zu markieren. Soweit ich das beurteilen kann, ist die Übergabe eines Arrays daran unerwartet?

3 „Gefällt mir“

Ja, das ist ungewöhnlich?

Aber anscheinend scheint Davids Lösung das Problem zu beheben.

Das hier:

  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

funktioniert nicht. Das hier funktioniert:

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

Sieht es so aus, als hätte die Ruby-Version diese Änderung erzwungen?

Auf jeden Fall glaube ich, dass wir eine Lösung haben und den OP aktualisieren sollten?

Ich muss noch ein Plugin ändern und werde die obige Wiki aktualisieren, wenn ich zufrieden bin.

2 „Gefällt mir“

FYI scheint sowohl zu funktionieren als auch zu funktionieren :tada:

Danke für deine Hilfe.

2 „Gefällt mir“

Ich glaube, es hat damit zu tun: Separation of positional and keyword arguments in Ruby 3.0

5 „Gefällt mir“

Hallo :wave:

Ich versuche, ein benutzerdefiniertes Benutzerfeld aus einem Plugin zu erstellen, bin mir aber nicht sicher, ob ich hier vollständig verstehe, was Sie beschreiben. Wenn ich in meinem Plugin Folgendes tue:

register_editable_user_custom_field 'foo'

Sollte ich immer noch Plugin-Outlets-Konnektoren verwenden, um es im Benutzerprofil und in der Benutzerkarte anzuzeigen?

Oder gibt es einen Mechanismus wie das benutzerdefinierte Feld in der Administration, der es automatisch hinzufügt (auch im Benutzerverzeichnis)? Ich möchte vermeiden, Konnektor- und Serialisierungsfelder hinzuzufügen, wenn es bereits eine Möglichkeit dafür gibt.

Vielen Dank für Ihre Hilfe!

1 „Gefällt mir“

Siehe?:

1 „Gefällt mir“

Hallo @merefield, danke für den Link, aber es ist nicht das, wonach ich frage. Es sieht so aus, als ob dies dazu dient, ein im Adminbereich erstelltes benutzerdefiniertes Feld außer mit einem Staff-API-Schlüssel nicht sichtbar zu machen.

Wenn ich unklar bin, lassen Sie mich es umformulieren: Gibt es eine Möglichkeit, ein benutzerdefiniertes Benutzerfeld mit einem Plugin zu registrieren, so wie wir es im Adminbereich unter „Benutzerfelder“ tun können (bearbeitbar, durchsuchbar, auf dem Benutzerprofil, auf der Benutzerkarte usw. angezeigt)?

2 „Gefällt mir“

Entschuldigen Sie, ich frage mich, ob dies hilfreicher wäre?

Die Hauptmodelle verfügen alle über eine benutzerdefinierte Feld-Funktion.

2 „Gefällt mir“