मुझे ImplicitTest
नामक एक मॉडल मिला है। इसे इसे Test
नामक रूबी ऑब्जेक्ट के रूप में जाना जाता है, बस रेल में बहुत सी चीजें तोड़ती है।संसाधन मॉडल नाम पथ या नियंत्रक से मेल नहीं खाता है जब रूटिंग लिखना
हालांकि, मैं अभी भी इसे test
(उदा। /tests
, /test/1/edit
और आगे के रूप में एक विश्वसनीय संसाधन के रूप में बेनकाब करना चाहता हूं)। इसके अलावा, नियंत्रक को TestsController
के रूप में रखना बहुत अच्छा होगा, हालांकि यह कम महत्वपूर्ण है।
मैं अपने routes.rb फ़ाइल में सरल resources :tests
लाइन होने से यह कर रहा था, लेकिन यह RESTful रूपों के लिए विफल रहता है (जैसे <%= form_for @test ... >
- यह ऊपर उठाता है कि @test ऑब्जेक्ट प्रकार ImplciitTest की है, और देखने के लिए implicit_test_path
की कोशिश करता है जो मौजूद नहीं है।
मैं विकल्पों form_for जोड़ने की कोशिश की है, लेकिन निष्कर्ष है कि दोनों new
और edit
कार्यों के लिए प्रपत्र काम है करने के लिए के लिए आया था, वहाँ कोई एक ही, form_for पूछने का एकीकृत तरीका था() एक अलग उपसर्ग का उपयोग करने पथ नाम लुकअप के लिए।
तो मैं रूटिंग से समस्या तक पहुंचने की कोशिश कर रहा हूं पक्ष। वहाँ एक लाइन मैं मार्गों फाइल करने के लिए जोड़ सकते हैं कि करने के लिए मुझे अनुमति देगा:
- एक मॉडल ImplicitTest
- कहा जाता है के रूप में पथ/परीक्षण
- उपयोग <% = form_for @test है .. ।%> टैग अभी भी
- TestsController (वैकल्पिक)
मैं जानता हूँ कि मैं यह करने के स्वर्ण पथ प्रस्थान रहा हूँ, लेकिन रेल दे नहीं कर रहा है मुझे एक मॉडल नाम के रूप में टेस्ट उपयोग करें, लेकिन यह के रूप में नियंत्रक रखें वह नाम है जिसे उपयोगकर्ता उम्मीद करेंगे इस संसाधन के लिए यूआरएल में देखें, इसलिए मुझे उम्मीद है कि सरल रूटिंग विकल्प हैं जो इसे सक्षम करते हैं।
यह contoller नाम को समायोजित नहीं करता था, लेकिन इसे संसाधनों में समायोजित करता है: implicit_tests,: नियंत्रक => "परीक्षण", पथ => "परीक्षण" 'उसमें जोड़ना प्रतीत होता है। – Phantomwhale