كيفية إضافة مسار إلى المسار الجذر

في ملحقي، لدي مسار مثل هذا في config/routes.rb:

Pfaffmanager::Engine.routes.draw do
  get "/ssh-key/:hostname" => "serverkeys#get_pub_key_by_hostname", constraints: { end

ويمكنني تنفيذ الأمر التالي:

  curl https://www.pfaffmanager.com/pfaffmanager/ssh-key/test.myforum.us

والحصول على المفتاح العام كما أريد. :tada:

ولأنني غير راغب في الاكتفاء بما هو موجود (والمستخدمون سينسخون هذا ويصقونه بالتأكيد، لذا فإن 9 أحرف إضافية لا تعني شيئًا)، أريد أن أتمكن من تنفيذ الأمر التالي:

  curl https://www.pfaffmanager.com/ssh-key/test.myforum.us

لقد نظرت في العديد من الإضافات الأخرى، ويبدو أن شيئًا مثل هذا يجب أن يعمل:

Discourse::Application.routes.prepend do
  get "/ssh-key/:hostname" => "serverkeys#get_pub_key_by_hostname", constraints: { hostname: /[^\/]+/ }
end

لكن هذا لا يعمل على الإطلاق. لقد جربت عدة أشياء (جربت الكثير من الأشياء، ولم يكن يجب أن أضيع أي وقت في هذه المطحنة بالتحديد)، ويبدو أنها كانت تلتقط المسار بشكل صحيح، لكنني كنت بحاجة إلى فعل . . . شيء ما . . . لأخبره بالبحث عن هذا المتحكم في pfaffmanager/get_pub_key_by_name.

هل جربت اتباع هذا

وتغيير معامل at: وفقًا لذلك؟

إعجابَين (2)

شكرًا لك، رافائيل! هذا ساعدني على تجاوز الأمر.

بشكل أساسي، قمت فقط بربط ملحقي في / ثم أضفت /pfaffmanager في بداية المسارات داخل ....routes.draw. كما هو الحال مع معظم هذه المشكلات، يكون الجواب واضحًا بمجرد العثور عليه.

إعجابَين (2)

الطريقة الأخرى للقيام بذلك هي كالتالي:

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