Benutzerdefiniertes Feld mit einer Liste

Wie erstelle ich ein benutzerdefiniertes Feld mit einer Liste von Strings über ein Plugin und interagiere damit?

Ich dachte, es wäre etwas Ähnliches wie der folgende Code, aber ich kann den richtigen Weg dafür nicht finden.

   # Array von Strings
   Topic.register_custom_field_type('my_list', [:string])
    add_to_serializer(:topic, :my_list, false) {object.topic.my_list}

    DiscourseEvent.on(:topic_created) do |topic|
        topic.custom_fields["my_list"] = ["item1", "item2"] 
        topic.custom_fields["my_list"] = topic.custom_fields["my_list"].push("item3")
    end