Railsコンソールでチャットチャンネルのリンクカテゴリを変更?

Discourse コミュニティの皆様へ

UI では、チャットチャンネルに関連付けられたカテゴリを変更することはできません。チャットを別のカテゴリに移動する必要があります。

Rails コンソール経由で可能かどうか、または何か問題が発生するかどうか疑問に思っています。

進め方や経験に関するヒントを歓迎します。

更新:
解決策を見つけたので、誰かの役に立つかもしれないと思い、ここに共有します。

免責事項:
サーバーへのアクセスが必要であり、何をしているかを理解していると役立ちます。そうでない場合は、サーバーとRuby on Railsに詳しい人に助けを求めることをお勧めします。
また、注意してください。稼働中のデータベースのデータを変更すると問題が発生する可能性があります。

手順:
まず、サーバーにアクセスします。そこに到達したら、rootユーザーになります。Discourseコンテナに移動して、そこに入ります。

cd /var/discourse
./launcher enter app

コンテナ内に入ったら、Railsコンソールを開きます。

rails c

次に、ブラウザでチャットチャンネルのスラッグを見つけます。チャットチャンネルを全画面モードで開いたときのURLなどで見つけることができます。
https://my-example-forum.com/chat/c/cat-pictures/17

Railsコンソールで、目的のチャットチャンネルオブジェクトを取得し、変数に保存します。

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

ここで変数 chat を入力してEnterキーを押すと、オブジェクトとそのすべての属性を確認できます。そのうちの1つは chatable_id です。ここで、チャットチャンネルがリンクされているカテゴリのIDを確認できます。例えば、chatable_id は5に設定されている可能性があります。

この chatable_id を、チャットチャンネルに対応させたいカテゴリのIDに変更できます。このIDは、ブラウザのカテゴリのURLで見つけることができます。
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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.