# 用户个人资料中来自外部来源的数字徽章

**URL:** https://meta.discourse.org/t/numeric-badge-from-external-source-in-users-profile/208076
**Category:** Support
**Created:** [2021年十一月3日 04:21 UTC](https://meta.discourse.org/t/numeric-badge-from-external-source-in-users-profile/208076 "2021-11-03T04:21:43Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Morokiel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/morokiel/32/238888_2.png) [@Morokiel](https://meta.discourse.org/u/Morokiel)
#### Post date: [2021年十一月3日 04:21 UTC](https://meta.discourse.org/t/numeric-badge-from-external-source-in-users-profile/208076/1 "2021-11-03T04:21:43Z")

</div>

您好，我有一位客户希望在用户个人资料中显示自定义徽章。

我需要从外部来源在 JavaScript 中获取徽章值，因此我将调用一个以用户名为参数的函数，该函数将返回徽章的值。

例如，类似于“用户积分”这样的内容：

 ![image](https://global.discourse-cdn.com/meta/original/3X/f/7/f7087409297d907b9729f864a0a6e84788b815d5.png)

能否请您指导一下实现这一目标的最佳方法？  
提前感谢！🙃

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2021年十一月3日 08:38 UTC](https://meta.discourse.org/t/numeric-badge-from-external-source-in-users-profile/208076/2 "2021-11-03T08:38:48Z")

</div>

创建用户自定义字段。然后您可以通过 API 向其推送值。

但我认为您希望在插件中执行此操作，并使用 Ruby 而非 JavaScript 来拉取数据。

---

<div class="post-metadata">

### Author: ![Morokiel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/morokiel/32/238888_2.png) [@Morokiel](https://meta.discourse.org/u/Morokiel)
#### Post date: [2021年十一月3日 15:37 UTC](https://meta.discourse.org/t/numeric-badge-from-external-source-in-users-profile/208076/3 "2021-11-03T15:37:25Z")

</div>

好的，我将在数据库中添加一个新字段，然后编写脚本来填充该字段。接着，我将创建一个基于此新字段的徽章。

我不确定是否需要插件。

谢谢！

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2021年十一月3日 15:39 UTC](https://meta.discourse.org/t/numeric-badge-from-external-source-in-users-profile/208076/4 "2021-11-03T15:39:25Z")

</div>

> [@Morokiel](#):
>
> 我将在数据库中添加一个新字段

您几乎肯定不想这样做。您可以使用 `user_custom_field`（或者也许您指的是这个，因为它在某种程度上是相同的东西），或者在 UX 的用户自定义中使用类似命名的功能。

---

<div class="post-metadata">

### Author: ![Morokiel](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/morokiel/32/238888_2.png) [@Morokiel](https://meta.discourse.org/u/Morokiel)
#### Post date: [2021年十一月3日 19:39 UTC](https://meta.discourse.org/t/numeric-badge-from-external-source-in-users-profile/208076/5 "2021-11-03T19:39:29Z")

</div>

明白了。最后一个问题，我搜索了授予徽章的 SQL 查询，但找不到一个在 UI 中显示 user\_custom\_field 的示例。它们只是查看 user\_custom\_field 来授予徽章。

例如，在我之前附带的截图中，数字 105.230 应存储在 user\_custom\_field 中，而我需要在徽章中显示它。

您知道这是否可行吗？

谢谢，并为这些“愚蠢”的问题道歉。

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2021年十一月3日 19:52 UTC](https://meta.discourse.org/t/numeric-badge-from-external-source-in-users-profile/208076/6 "2021-11-03T19:52:40Z")

</div>

我需要查看代码才能给你确切的答案。

你想要做的是让你的插件将自定义字段添加到序列化器中。你可以在 `plugin.rb` 中搜索现有插件中的 `add_to_serializer` 以获取一些示例。然后，你可以将其整合到前端的徽章中。
