रूबी पर रूबी के लिए स्थिर मार्ग उपसर्ग पर नेस्टेड मार्ग - रूबी-ऑन-रेल, मार्ग

रूबी ऑन रेल्स पर नया और मेरे मार्गों को "t" कर सकता हैकाम करें कि मैं उन्हें कैसे चाहता हूं। मूल रूप से, मेरे पास दो एपि समापन बिंदु हैं: एक मेरे द्वारा दी जाने वाली प्लेटफ़ॉर्म सेवाओं में से एक के लिए है, और दूसरा एक बच्चे के लिए है, जिसे मैं आगे की पेशकश करना चाहता हूँ। परिणामस्वरूप URL योजनाएँ जो मुझे चाहिए

... com / एपीआई / # पहला एपीआई प्लेटफार्म

... कॉम / स्टब्स / एपी # दूसरा एपीआई प्लेटफॉर्म

दूसरे API प्लेटफ़ॉर्म में संसाधन हैं, लेकिन "सबस" या "एपीआई" के लिए कोई विशिष्ट संसाधन नहीं हैं। मैं सिर्फ उत्पादों के बीच के परिसीमन के रूप में उपयोग कर रहा हूं।

यहाँ मेरा क्या है routes.rb की तरह लगता है:

# routes.rb
Rails.application.routes.draw do

resources :auth

match :api, to: "api#index", via: :all

match :stubs, to: "stubs#index", via: :get

match "stubs/api", to: "stubs/api#index", via: :get
scope  "stubs/api" do
resources :enpoints
end

end

और फिर मेरे नियंत्रकों ...

# controllers/stubs/api/endpoints_controller.rb
class Stubs::Api::EndpointsController < ApplicationController
def index
render :json => {}
end
end

जब मैं रेंडर करने की कोशिश करता हूं /stubs/api/endpionts मुझे त्रुटि मिलती है:

कोई मार्ग मैच नहीं करता है

My apologies in advance if this is a bad noob समस्या है, मैं पाया लेख "इस मुद्दे को हल करने के लिए प्रतीत नहीं .... शायद इसलिए क्योंकि मैं इसे जमीन से गलत सोच रहा हूँ? किसी भी मामले में, आपकी मदद के लिए अग्रिम धन्यवाद!

और भी अधिक भ्रमित मेरे मार्गों से पता चलता है कि समापन बिंदु अपेक्षित है:यहां छवि विवरण दर्ज करें

अद्यतन करें

मेरी फ़ोल्डर संरचना को जोड़ने में भी मदद करता है। यहां छवि विवरण दर्ज करें

यह कैसे संभव परिणाम पृष्ठ है ???? यहां छवि विवरण दर्ज करें

उत्तर:

उत्तर № 1 के लिए 1

नीचे रूट में मार्गों की कोशिश करो। फ़ाइल:

# routes.rb
Rails.application.routes.draw do
namespace :stubs do #use namespace instead of scope
namespace :api do
resources :enpoints
end
end

resources :auth

match :api, to: "api#index", via: :all

match :stubs, to: "stubs#index", via: :get

match "stubs/api", to: "stubs/api#index", via: :get


end

संबंधित सवाल
सबसे लोकप्रिय