# 在 Rails 控制台中更改聊天频道关联类别？

**URL:** <https://meta.discourse.org/t/change-chat-channel-linked-category-in-rails-console/327361>\
**Category:** Support\
**Created:** [2024年九月20日 06:17 UTC](https://meta.discourse.org/t/change-chat-channel-linked-category-in-rails-console/327361 "2024-09-20T06:17:28Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Magie](https://avatars.discourse-cdn.com/v4/letter/m/e274bd/32.png) [@Magie](https://meta.discourse.org/u/Magie)\
**Post date:** [2024年十二月2日 15:23 UTC](https://meta.discourse.org/t/change-chat-channel-linked-category-in-rails-console/327361/2 "2024-12-02T15:23:38Z")

</div>

**更新：**  
我找到了解决方案，并在此分享，希望能帮助到其他人。

**免责声明：**  
您需要访问您的服务器，并且最好了解您正在做什么。如果不了解，我建议寻求了解服务器和 Ruby on Rails 的人员的帮助。  
另外请注意：更改正在运行的数据库中的数据可能会导致问题。

**步骤：**  
首先访问您的服务器。进入服务器后，成为 root 用户。导航到 Discourse 容器并进入它：

```plaintext
cd /var/discourse
./launcher enter app

```

进入容器后，打开 Rails 控制台：

```plaintext
rails c

```

现在，在您的浏览器中找到聊天频道 slug。您可以在 URL 中找到它，例如当您全屏打开聊天频道时：  
`https://my-example-forum.com/chat/c/cat-pictures/17`

在 Rails 控制台中，获取您想要的聊天频道对象并将其保存在一个变量中：

```plaintext
chat = Chat::Channel.find_by(slug: "cat-pictures")

```

现在，如果您只输入变量 `chat` 并按 Enter 键，您可以看到该对象及其所有属性。其中一个属性是 `chatable_id`。在那里，您可以查看聊天频道链接到的分类的 ID。例如，`chatable_id` 可以设置为 5。

我们可以将此 `chatable_id` 更改为您希望聊天频道对应的分类的 ID。您可以在浏览器中分类的 URL 中找到此 ID：  
`https://my-example-forum.com/c/cats/9`

现在您知道了所需的分类 ID，您可以调整链接到聊天频道的分类：

```plaintext
chat.chatable_id=9
chat.save

```

希望这对您有帮助。

* * *

也可能与 [How change a Chat Channel's category that it's linked to](https://meta.discourse.org/t/how-change-a-chat-channels-category-that-its-linked-to/257122) 相关

---

_[View the full topic](https://meta.discourse.org/t/change-chat-channel-linked-category-in-rails-console/327361)._
