# 自定义字段，带列表

**URL:** https://meta.discourse.org/t/custom-field-with-a-list/156027
**Category:** Development
**Created:** [2020年六月26日 14:00 UTC](https://meta.discourse.org/t/custom-field-with-a-list/156027 "2020-06-26T14:00:48Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Oliver\_Walker](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/oliver_walker/32/155432_2.png) [@Oliver\_Walker](https://meta.discourse.org/u/Oliver_Walker)
#### Post date: [2020年六月26日 14:00 UTC](https://meta.discourse.org/t/custom-field-with-a-list/156027/1 "2020-06-26T14:00:48Z")

</div>

如何从插件创建并操作包含字符串列表的自定义字段？

我原本以为它会类似于下面的代码，但我找不到正确的方法来实现。

```
   # 字符串数组
   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

```
