तो routing.yml में मैं आदेश विशिष्ट सेटिंग्स को संपादित और नष्ट करने के लिए में परिभाषित निम्नलिखित मार्गों है:Symfony2 रूटिंग: पद्धति की अनुमति नहीं (अनुमति दें: {विधि})
routing.yml:
settings.editDefaults:
path: settings/{id}/defaults/edit/{widgetType}
defaults: { _controller: AppBundle:Settings:editDefaults }
methods: [POST, PUT]
settings.deleteDefaults:
path: settings/{id}/defaults/delete/{widgetType}
defaults: { _controller: AppBundle:Settings:deleteDefaults }
methods: [DELETE]
और मेरे नियंत्रक में मैं सही कार्यों में परिभाषित किया गया: SettingController.php:
/**
* edit the default settings of a hotel/widget
*/
public function editDefaultsAction(Request $request)
{
//Edit logic
}
/**
* delete a default setting of a hotel/widget
*/
public function deleteDefaultsAction($hotelId, $widgetType)
{
//Delete logic
}
दूसरी कार्रवाई में मुझे केवल id
और widgetType
पास करने की आवश्यकता है ताकि मैं चयनित रिकॉर्ड के लिए पूछताछ कर सकूं।
जब मैं मार्गों मैं निम्नलिखित मिल में से किसी के पास जाओ:
संपादित मार्ग त्रुटि:
No route found for "GET /settings/2b2acd55-0dd6-11e5-8107-621ae3320fd4/defaults/edit/default": Method Not Allowed (Allow: POST, PUT)
हटाएँ मार्ग त्रुटि:
No route found for "GET /settings/2b2acd55-0dd6-11e5-8107-621ae3320fd4/defaults/delete/default": Method Not Allowed (Allow: DELETE)
लेकिन जब मैं एक को हटा दें और दूसरे को छोड़ दें वे ठीक काम करते हैं। मुझे लगता है कि यह पथ परिभाषाएं समान हैं? क्या मेरे लिए एक ही पथ रखना संभव है और यह त्रुटि नहीं मिलती है? मुझे क्या समझ में नहीं आ रहा है?
आपकी मदद की, Anth
अरे Jave, जवाब के लिए धन्यवाद।अब जब मैंने हटाए जाने के तरीकों को हटा दिया है, तो यह 'एडिट एक्शन' में एक त्रुटि की रिपोर्ट करता है, किसी भी कारण से कि रूट एक्शन भी कहा जाता है? –
@ एंथबीब: आपने 'विधियों' भाग को हटा दिया है, लेकिन मैं आपको इसे रखने के लिए सुझाव देता हूं; यह अर्थात् सही है। त्रुटि मार्गों में नहीं है लेकिन यूआरएल अनुरोध में है (आपको इसे सेट, पुट या पोस्ट विधि के साथ कॉल करने की आवश्यकता है) – DonCallisto
@AnthBieb, क्या आप त्रुटि साझा कर सकते हैं? –