मैं एक मोबाइल एपीआई के लिए मार्ग स्थापित करने की कोशिश कर रहा हूं, जिसमें संस्करण एपीआई-पथ होना चाहिए। मैं पहले ही मोबाइल ऑथ काम कर सकता हूं, जिसे /नियंत्रक/एपीआई/वी 1/मोबाइल/ में स्थित एक अलग नियंत्रक ऑथकंट्रोलर में कार्यान्वित किया गया है।रूटिंग त्रुटि: अनियमित स्थिर
प्रयोग उदाहरण:
myapp.com/api/v1/mobile/auth
लेकिन अब मैं अतिरिक्त api-मार्गों के रूप में इस पथ-पैटर्न के लिए अपने मौजूदा ressources-नियंत्रकों पंजीकृत करना चाहते हैं। कंक्रीट: यह कार्य नियंत्रक/controllers/tracker/tasks_controller.rb पर स्थित होगा। इसलिए मैं मार्गों परिभाषा करने के लिए एक मोबाइल मार्ग कहा:
# routes.rb
namespace :tracker, path: 'timetracking' do
resources :tasks, 'jobs'
end
namespace :api do
namespace :v1 do
namespace :mobile do
resources :auth, :only => [:create, :destroy]
namespace :tracker do #added mobile route
resource :tasks, controller: 'tracker/tasks', as: :mobile_tasks
end
end
end
end
लेकिन जब मैं myapp.com/api/v1/mobile/tracker/tasks फोन यह एक त्रुटि संदेश में परिणाम:
Routing Error
uninitialized constant Api::V1::Mobile::Tracker
मैं विशेष रूप से उर्फ कहा: mobile_tasks इस मार्ग को, मूल ऊपर कार्य-मार्ग के साथ किसी भी टकराव से बचने के लिए। कोई विचार, इस मार्ग के लिए नियंत्रक को सही तरीके से कैसे सेट करें?
अद्यतन # 1
एक namespace के बजाय एक गुंजाइश के रूप में इस मार्ग को परिभाषित करना, अच्छी तरह से काम नहीं किया।
scope "/api/v1/mobile/tracker" do
resources :tasks, controller: 'tracker/tasks', as: :mobile_tasks
end
लेकिन इस बार, यह मार्ग-मार्ग को भी हल नहीं करता था।
Routing Error
No route matches [GET] "/api/v1/mobile/tracker/tasks"
मुझे लगता है कि यह एक समस्या हो सकती है, कि मेरे अतिरिक्त मोबाइल-api मार्ग पूरी तरह से अलग नाम स्थान ट्रैकर को इंगित करने की कोशिश करता।
हाय क्रिस्ट, आपके उत्तर के लिए धन्यवाद। मैंने आपके प्रश्न-पाठ को आपके सुझाव के संबंध में रेल-आउटपुट के साथ अपडेट किया। – loybert
क्या आपने मैच आदेश और नामों में सभी परिभाषित मार्गों को मुद्रित करने के लिए 'रेक मार्ग' आदेश का प्रयास किया है? यह आपको इस समस्या को डीबग करने में मदद करनी चाहिए। 'रेक मार्ग' के साथ अच्छे संकेत के लिए – Krists
thx। मुझे यह काम करने में मदद मिली :) – loybert