Campo personalizzato con un elenco

Come creo e interagisco con un campo personalizzato contenente un elenco di stringhe da un plugin?

Pensavo che sarebbe stato qualcosa di simile al codice sottostante, ma non riesco a trovare il modo corretto di farlo.

   # array di stringhe
   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