2015-04-21 9 views
9

CakePHP 3.0CakePHP 3: मार्ग के लिए गुम मार्ग त्रुटि मौजूद है

मैं एक मार्ग है कि मौजूद है के लिए एक "गुम रूट" त्रुटि मिल रही है।

#my admin routes... 
Router::prefix('admin', function($routes) { 
    $routes->connect('/', ['controller'=>'Screens', 'action'=>'index']); 
    $routes->connect('/screens', ['controller'=>'Screens', 'action'=>'index']); 
    $routes->connect('/screens/index', ['controller'=>'Screens', 'action'=>'index']); 
    //$routes->fallbacks('InflectedRoute'); 
}); 

Router::scope('/', function ($routes) { 

    $routes->connect('/login', ['controller' => 'Pages', 'action' => 'display', 'login']);  
    $routes->connect('/pages/*', ['controller' => 'Pages', 'action' => 'display']); 

    $routes->fallbacks('InflectedRoute'); 
}); 

Plugin::routes(); 

असल में मैं सिर्फ शीर्ष अनुभाग (व्यवस्थापक मार्ग के लिए) जोड़ा डिफ़ॉल्ट मार्गों कि बॉक्स से बाहर आने के लिए:

यहाँ मेरी रास्ते हैं।

enter image description here

सूचना त्रुटि संदेश का कहना है::

Error: A route matching "array ('action' => 'add', 'prefix' => 'admin', 'plugin' => NULL, 'controller' => 'Screens', '_ext' => NULL, )" could not be found.

... जो अजीब है, क्योंकि मैं तक पहुँचने का प्रयास नहीं कर रहा हूँ

जब मैं यात्रा कर /admin/screens/index मैं निम्न त्रुटि देख add कार्रवाई। नीचे मुद्रित पैराम सही दिखते हैं।

क्या चल रहा है?

+0

उर्फ ​​केक। 2.0 का उपयोग करके मुझे कैश मॉडल के साथ समस्याएं थीं। मैंने पाया कि 2 में डीबग करना इसे हल करेगा। मुझे लगता है कि आपने कैश आदि साफ़ कर दिया है –

+0

डीबग कॉन्फ़िगरेशन थोड़ा बदल गया है। अब यह एक बुलियन है, जिसे मैंने 'TRUE' पर सेट किया है। बस सुरक्षित होने के लिए मैंने tp में सभी कैश फ़ाइलों को भी हटा दिया/और यह अभी भी कर रहा है। – emersonthis

+0

जो मेरे जाने-माने को समाप्त कर देगा। ऐसा लगता है कि एनएनएम में अधिक उपयोगी अंतर्दृष्टि –

उत्तर

11

स्टैकट्रैस पर नज़र डालें, प्रेषण प्रक्रिया में त्रुटि नहीं है, जो आपको लगता है कि यह आपके दृश्य टेम्पलेट में ट्रिगर किया जा रहा है, जहां आप शायद add पर एक लिंक बनाने की कोशिश कर रहे हैं कार्रवाई, और रिवर्स-रूटिंग को मिलान करने वाला मार्ग नहीं मिल रहा है, इसलिए त्रुटि।

समाधान स्पष्ट होना चाहिए,

$routes->connect('/screens/add', ['controller' => 'Screens', 'action' => 'add']); 

कैच-ऑल लोगों

$routes->connect('/screens/:action', ['controller' => 'Screens']); 

या बस वापस आने वाले हैं कि सब कुछ को पकड़ने की तरह आवश्यक मार्गों कनेक्ट करते हैं, यह किया जा रहा है स्पष्ट लोगों

$routes->fallbacks('InflectedRoute'); 
+1

आपने इसे फिर से खींचा !! – emersonthis

0

उपयोग उपसर्ग व्यवस्थापक के मामले में मेरे लिए यह काम: -

Router::prefix('admin', function ($routes) { 
    // Because you are in the admin scope, 
    // you do not need to include the /admin prefix 
    // or the admin route element. 
    $routes->connect('/', ['controller' => 'Users', 'action' => 'index']); 
    $routes->extensions(['json', 'xml']); 
    // All routes here will be prefixed with `/admin` 
    $routes->connect('/admin', ['controller' => 'Order', 'action' => 'index']); 
    // And have the prefix => admin route element added. 
    $routes->fallbacks(DashedRoute::class); 
}); 
संबंधित मुद्दे