عرض قائمة المواضيع بواسطة مصفوفة معرفات المواضيع

أحتاج أيضًا إلى هذه الوظيفة. حاليًا أقوم بذلك بهذه الطريقة، لكنها تستغرق وقتًا طويلاً جدًا.

    const selectedTopics = this.selectedTopics
     //eat topics as ids and let out real topics
     this.selectedTopicsID.forEach(function(tid,index){
       Topic.find(tid,{}).then(results => {
         selectedTopics.pushObject(results)
       })
     });

كنت على وشك إعادة فتح listcontroller في ملف plugin.rb الخاص بي وإضافة نقطة نهاية جديدة، وإعادة فتح topic-list في مُهيئ الواجهة الأمامية، وفعل شيء مشابه لهذا:

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/models/topic-list.js.es6#L129
لكن يجب أن يكون هناك طريقة أسهل للقيام بذلك. هل حقًا لا توجد نقطة نهاية لجلب المواضيع دفعة واحدة حسب المعرف (ID)؟
سأكون ممتنًا جدًا لأي مساعدة :smiley:
تعديل: هكذا حللت هذه المشكلة بنفسي:

وهكذا يمكن استخدامها.

import TopicList from 'discourse/models/topic-list';
    const selectedTopics = this.selectedTopics
    //eat topics as ids
    TopicList.topics_array(this.selectedTopicsID).then(results => selectedTopics.pushObjects(results.topic_list.topics))

حاليًا، لا تزال هناك عيب، ألا وهو أنها لا تُرجع كائنات “Topic” حقيقية، لكنني أظن أن إضافة سطر مثل هذا سيحل المشكلة:

لا تزال غير متأكد مما إذا كانت هذه هي الطريقة الصحيحة للقيام بذلك و/أو ما إذا كانت هذه الطريقة تُخل بالأمان.
هناك شيء آخر يمكن فعله: البحث أولاً في المخزن (store) عما إذا كانت السجلات موجودة بالفعل، ثم تحميل ما هو غير موجود فقط باستخدام fromMap. مشابه لـ:

على أي حال، أصبح هذا النص طويلاً جدًا هنا :smiley:
هذا هو الحل النهائي الخاص بي، سأعلن إنهاء العمل الآن: