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

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

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

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

cd /var/discourse
./launcher enter app

进入容器后,打开 Rails 控制台:

rails c

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

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

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,您可以调整链接到聊天频道的分类:

chat.chatable_id=9
chat.save

希望这对您有帮助。


也可能与 How change a Chat Channel's category that it's linked to 相关

2 个赞