# “Enum”在主题（组件）的 settings.yml 中损坏

**URL:** https://meta.discourse.org/t/enum-broken-in-settings-yml-of-theme-components/141922
**Category:** Bug
**Created:** [2020年二月18日 17:52 UTC](https://meta.discourse.org/t/enum-broken-in-settings-yml-of-theme-components/141922 "2020-02-18T17:52:43Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![domr109](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/domr109/32/160246_2.png) [@domr109](https://meta.discourse.org/u/domr109)
#### Post date: [2020年二月18日 17:52 UTC](https://meta.discourse.org/t/enum-broken-in-settings-yml-of-theme-components/141922/1 "2020-02-18T17:52:43Z")

</div>

**错误描述**

主题组件 settings.yml 中定义的枚举在管理后台中无法正确渲染。下拉菜单无法使用，源代码中也看不到值选项。我们测试了两个独立的主题组件，因此该问题似乎影响了所有主题组件。

**观察结果**  
该问题似乎是在 [2.4.0.beta10 版本](https://meta.discourse.org/t/discourse-2-4-0-beta10-release-notes/139327) 中引入的。

我们在 2.4.0.beta10 和 2.4.0.beta11 版本上进行了测试，这两个版本都出现了上述问题。之前的版本，特别是 2.4.0.beta9 和 2.4.0.beta8，不存在此问题。

**如何复现：**

1. 安装使用枚举的主题组件，例如 [Discourse Versatile Banner](https://github.com/tshenry/discourse-versatile-banner)
2. 进入主题组件的设置页面（../admin/customize/themes/…）并检查枚举设置

 ![Screen Shot on 2020-02-18 at 16-42-42](https://global.discourse-cdn.com/meta/original/3X/e/b/eb6e19ca81a2e3da2e81268f095ea671907b5fe8.png)

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [2020年二月18日 18:30 UTC](https://meta.discourse.org/t/enum-broken-in-settings-yml-of-theme-components/141922/4 "2020-02-18T18:30:48Z")

</div>

谢谢。

这将通过以下方式修复：

> <https://github.com/discourse/discourse/pull/8995>

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [2020年二月18日 22:27 UTC](https://meta.discourse.org/t/enum-broken-in-settings-yml-of-theme-components/141922/5 "2020-02-18T22:27:03Z")

</div>



---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [2020年二月19日 07:16 UTC](https://meta.discourse.org/t/enum-broken-in-settings-yml-of-theme-components/141922/6 "2020-02-19T07:16:56Z")

</div>

我已回退了此修复，因为它带来的问题比解决的还多。我会花时间编写多个测试，并提出更好的解决方案。
