هل يمكن تغيير فئة قناة الدردشة المرتبطة في وحدة تحكم Rails؟

عزيزي مجتمع Discourse،

لا يمكن في واجهة المستخدم تغيير الفئة المرتبطة بقناة دردشة. أحتاج إلى نقل محادثة إلى فئة مختلفة.

أتساءل عما إذا كان هذا ممكنًا عبر وحدة تحكم Rails أو هل سيؤدي ذلك إلى كسر شيء ما؟

نرحب بأي تلميحات حول كيفية المضي قدمًا وتجاربكم.

تحديث:
لقد توصلت إلى حلي وأشاركها هنا لأنها قد تساعد شخصًا ما.

إخلاء مسؤولية:
تحتاج إلى الوصول إلى خادمك ويساعد إذا كنت تفهم ما تفعله. إذا لم يكن الأمر كذلك، أوصي بالحصول على مساعدة من شخص يعرف الخوادم و Ruby on Rails.
كن حذرًا أيضًا: قد يتسبب تغيير البيانات في قاعدة بيانات قيد التشغيل في حدوث مشاكل.

الخطوات:
أولاً، قم بالوصول إلى خادمك. بمجرد وصولك إلى هناك، كن مستخدمًا جذريًا. انتقل إلى حاوية 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. هناك يمكنك رؤية معرف الفئة التي ترتبط بها قناة الدردشة. يمكن تعيين chatable_id إلى 5 على سبيل المثال.

يمكننا تغيير chatable_id هذا إلى معرف الفئة التي تريد أن تتوافق معها قناة الدردشة. يمكنك العثور على هذا المعرف في عنوان URL للفئة في المتصفح:
https://my-example-forum.com/c/cats/9

الآن بعد أن عرفت معرف الفئة المطلوب، يمكنك تعديل الفئة المرتبطة بقناة الدردشة:

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.