(روبي) اختيار المنشورات التي ينشرها غير الناشر الأصلي فقط

مرحباً بالجميع!

بدأت للتو التطوع في مجتمع معين، وقد كُلفت بتحديث إضافة موجودة. تقوم هذه الإضافة حالياً بتغيير وسم الموضوع عندما يصل إلى حد معين من عدد الكلمات. والمطلوب مني تحويلها لتقوم بحساب الكلمات من منشورات الموضوع فقط، باستثناء منشورات منشئ الموضوع.

حالياً، يتم حساب عدد الكلمات عبر هذا المقطع:

replies = topic.posts.where('post_number > 1')
reply_word_count = replies.sum(:word_count)

وأفكر أن الاستراتيجية ستكون كالتالي:

non_op_replies = topic.posts.where('post.user.username != topic.user.username')
reply_word_count = non_op_replies.sum(:word_count)

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

أهلاً وسهلاً بك! :partying_face:

أنا أيضاً مبتدئ في Ruby، وقد وجدت هذا الدليل مفيداً جداً للبدء.

إليك سلسلة مكونة من 7 أجزاء حول تطوير إضافات Discourse، ورغم أنها قد لا تحتوي بالضبط على ما تبحث عنه، إلا أنها مورد ممتاز لمساعدتك على فهم كيفية هيكلة إضافة Discourse.

شخصياً، أتعلم بشكل أفضل من خلال الأمثلة وتسجيل كل خطوة على حدة، لذا فإن Rails.logger، إلى جانب logster في Discourse والذي يمكنك الوصول إليه عبر localhost:3000/logs، يُعدّان مفيدَين جداً في ذلك.

وفيما يلي وثائق Ruby الخاصة بنواة Discourse، إذا كنت تشعر بالشجاعة وترغب في الاستكشاف بنفسك.

شكرًا لك على مساعدتك! سأقوم بمراجعة هذه الأمور فورًا.