كيفية الوصول إلى عناوين URL المعرفة في إضافة بشكل عام؟

لقد أضفت الكود التالي في ملف plugin.rb:

  DiscourseRatings::Engine.routes.draw do
    post "/rate" => "rating#rate"
    post "/remove" => "rating#remove"
    get '/getratings' => 'rating#getRatings'
  end

أستطيع استخدام رابط “ratings” وهو /rating/getratings في استدعاء AJAX. ولكن عندما أستخدم هذا الرابط مع اسم النطاق t2.metastudio.org، مثل https://t2.metastudio.org/rating/getratings، يقول Discourse:

أوبس! الصفحة غير موجودة أو قد تحتاج إلى تسجيل الدخول لرؤيتها!

على سبيل المثال، يمكنني الوصول إلى بيانات الفئات باستخدام الرابط التالي وهو https://t2.metastudio.org/categories.json.
وبالمثل، أريد الوصول إلى روابط الـ GET الخاصة بالإضافات.

هل يمكنك إخباري بكيفية تعريف عناوين URL في إضافة تكون متاحة للعامة؟

إعجاب واحد (1)

بشكل أساسي، تحتاج إلى البحث في كيفية عمل مسارات Rails ومحركاتها. تقوم المسارات بربط عناوين URL بإجراءات وحدات التحكم في Rails. كما يُرجى الرجوع إلى هذا الدليل. إنه درسي المفضل في Discourse. How to create a Discourse plugin – kleinfreund.de

إعجاب واحد (1)

أنا قادر على الوصول إلى عنوان URL الجديد المُعرَّف get “/getbadges” => “categories#getBadges”

لقد عرّفت عنوان URL من نوع GET وهو get “/getbadges” => “categories#getBadges” في ملف routes.rb.

وفيما يلي طريقة getBadges في ملف categories_controller.rb:

def getBadges
	json_data = {"name":"siddhu"}
	render json: json_data
end

لقد شغّلت نسخة محلية من Discourse وحاولت الوصول إلى عنوان URL المُعرَّف http://localhost:9292/getbadges. وأنا قادر على الوصول إلى هذا العنوان، لكنني قمت بنفس الإجراء في إضافة https://github.com/siddhudhangar/discourse-ratings، ولا تعمل هنا. هل يمكنك مساعدتي في حل هذه المشكلة؟

فيما يلي رابط GitHub الخاص بي، ويمكنك التحقق من الكود الخاص بي وإخباري إذا كان هناك أي خطأ قمت به:

أستطيع الوصول إلى جميع عناوين URL من نوع GET التي عرفتُها في الإضافة. تم حل المشكلة الآن. شكرًا لك.