पथ सहायक स्लैश के बजाय डॉट्स के साथ पथ उत्पन्न करते हैं


89

मेरे मार्गों में।

resources :message_threads

जब मैं फोन करता हूं:

message_threads_path(1)

मुझे मिला:

/message_threads.1

ऐसा क्यों है? मेरे अन्य संसाधन ठीक काम करते हैं। क्या मैं इसे सही ढंग से या कुछ और नहीं बता रहा हूँ?

जवाबों:


142

हां, यह बहुवचन त्रुटि है।

आईडी 1 पास करने से, मुझे लगता है कि आप एक ही रिकॉर्ड प्रदर्शित करना चाहते हैं।

तो आपको एकवचन 'message_thread' का उपयोग करने की आवश्यकता है:

message_thread_path(1)

जो उपज देगा:

http://localhost:3000/message_threads/1

3
हे। ये हम सभी के साथ हुआ; बार बार। शायद आखिरी बार जब आप इस त्रुटि को देखेंगे!
स्कॉट

मेरे द्वारा बनाए गए एक मार्ग के साथ मुझे यह बहुत ही त्रुटि मिल रही है और मैं इसे बहुवचन नहीं दे रहा हूं। वहां क्या तय होगा?
काकुबई जूल

1
@kakubei, अपने रूट फ़ाइल की जाँच करें। आप बुला रहे हैं resources :my_modelया resources :my_models? (आपको रूट फ़ाइल में बहुवचन देने की आवश्यकता है।)
जेल्क्लेकैट

मेरे सभी मार्ग बहुल हैं।
काकुबई

1
बस शाम 5 बजे, कीबोर्ड के खिलाफ मेरे सिर को काटने वाला था, यह वह था। धन्यवाद दोस्त।
फैंटमव्हेल

19

कभी-कभी यह तब भी होता है जब आप प्रदान नहीं करते हैं: आपके मार्ग में पैरामीटर के रूप में:

delete "delete/:id" => "home#delete"

में परिवर्तित किया गया:

delete "delete/:id" => "home#delete", as: :delete

(विषम उदाहरण को अनदेखा करें, अभी-अभी कुछ ऐसा हुआ है जिसे हम सिर्फ एक आंतरिक ऐप के लिए चला रहे हैं जो हम बना रहे हैं)


4
इसने मेरे लिए काम किया। निर्दिष्ट करना : जैसा कि मुझे एक नाम दिया गया है कि मैं "_पथ" को जोड़ सकता हूं और मुझे पता है कि लिंक में मैं क्या पूछ रहा था, रेल को पता था। मूल रूप से, जब मेरे मार्गों की फ़ाइल थी: match "/xyz/show/:project_id" => "xyz#show_project", :via => [:get] मेरा दृश्य मार्कअप: <%= link_to "Show Details", xyz_show_path(@project) %> उत्पादन करता रहा: http://localhost:3000/xyz/show.1 मार्गों को फ़ाइल में परिवर्तित करना: match "/xyz/show/:project_id" => "xyz#show_project", :via => [:get], :as => "show" अनुमति दी गई: <%= link_to "Show Details", show_path(@project) %> काम करना।
आंग्या

0

अन्य लोग जो यहाँ उतरते हैं वे इस स्थिति में हो सकते हैं:

यदि आपके पास अपने में एक विलक्षण संसाधन है routes.rb:

resource :map

आपको किसी ऑब्जेक्ट को पास करने की आवश्यकता नहीं है map_path। कॉल करने का प्रयास करने map_path(map)से समान व्यवहार (जैसे URL map.12) होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.