मैं FOSJSRoutingBundle के साथ एक सच में अजीब समस्या का सामना कर रहा हूँ:FOSJSRoutingBundle: "मार्ग xxx मौजूद नहीं है"
सबसे पहले, यहाँ मेरी विन्यास है: मैं Symfony 2.0.23 पर और JQuery के साथ काम कर रहा हूँ, पर एक WAMP के साथ विंडोज 7 64 बिट्स (अपाचे 2.4.2 और PHP 5.4.3)। मैंने FOSJSRoutingBundle के जिथब से सभी सेटिंग्स की हैं और मेरे मार्गों का खुलासा किया है (लगभग सभी संबंधित समस्याएं जिन्हें मैं गुगलिंग द्वारा प्राप्त कर सकता हूं (FOSJSRoutingBundle's github पर, यहां और विभिन्न मंचों पर) क्योंकि लोग अपने मार्गों का खुलासा नहीं करते हैं, लेकिन मैं php ऐप/कंसोल फॉस की कोशिश की: जेएस-रूटिंग: डीबग और मैं अपने मार्ग देखता हूं)। जेएस लेआउट में जोड़ा जाता है (अंत में लेआउट का कोड)।
js में मार्गों के लिए यूआरएल उत्पन्न करने के लिए कोशिश कर रहा है, शुरुआत में मैं दो अलग-अलग मार्गों उत्पन्न करने के लिए चाहता था, लेकिन परीक्षण के लिए मैं नीचे js कोड बनाया:
//Code inside this function is working
$("select").change(function() {
param=this.options[this.selectedIndex].value;
test1=Routing.generate('myBundle_step3', { myParam: param });
alert(test1);
window.location=Routing.generate('myBundle_step2');
});
//Code inside this one is also working
$('input[type="checkbox"]').change(function() {
test=Routing.generate('myBundle_step2');
}).change();
//This is not working
test=Routing.generate('myBundle_step2');
alert(test);
इस कोड के साथ, मैं जावास्क्रिप्ट त्रुटि मिलती है " मार्ग MyBundle_step2 मौजूद नहीं है "। हालांकि पहला भाग अभी भी काम करता है (अलर्ट मुझे लिंक बनाया गया है और पुनर्निर्देशन अच्छी तरह से चला जाता है)। यदि मैं दूसरा फ़ंक्शन हटा देता हूं, तो मुझे अब जावास्क्रिप्ट त्रुटि नहीं मिलती है। यदि दूसरे फ़ंक्शन में मैं चरण 3 द्वारा चरण 2 को प्रतिस्थापित करता हूं, तो त्रुटि "रूट MyBundle_step3 मौजूद नहीं है"। मैंने कैश को साफ़ करने और PHP एप/कंसोल संपत्ति चलाने के लिए प्रयास किया: इंस्टॉल करें - फिर से लिंक करें, लेकिन कोई परिणाम नहीं।
यहाँ नियंत्रक इसी कोड है (वास्तविक कोड थोड़ा लंबा है और मुझे नहीं लगता कि यह प्रासंगिक है, यदि आप ऐसा लगता है, मैं इसे वैसे भी डाल सकता है: routing.yml config
namespace my\Bundle\Controller;
class IndividuController extends Controller
{
public function step2Action() {
Some code
}
public function step3Action($myParam) {
Some code
}
}
बंडल करने के लिए फ़ाइल रिश्तेदार:
myBundle_step2:
pattern: /step/2
defaults: {_controller: myBundle:Individu:step2}
options:
expose: true
myBundle_step3:
pattern: /step/3/{myParam}
defaults: {_controller: myBundle:Individu:step3}
options:
expose: true
एप्लिकेशन/config/routing.yml फ़ाइल:
fos_js_routing:
resource: "@FOSJsRoutingBundle/Resources/config/routing/routing.xml"
myBundle:
resource: "@myBundle/Resources/config/routing.yml"
prefix: /
गु ई लेआउट के प्रासंगिक जानकारियां:
<!-- jQuery via Google + local fallback, see h5bp.com -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"> </script>
<script>window.jQuery || document.write('<script src="js/jquery-1.7.1.min.js"><\/script>')</script>
{% javascripts 'bootstrap/js/bootstrap.js'
'bundles/fosjsrouting/js/router.js'
'bundles/crrisuaps/js/suaps.js' %}
<script type="text/javascript" src="{{ asset_url }}"></script>
{% endjavascripts %}
<script src="{{ path('fos_js_routing_js', {"callback": "fos.Router.setData"}) }}"></script>
</body>
</html>
php एप्लिकेशन/कंसोल रूटर के परिणाम: डिबग (मैं केवल प्रासंगिक जानकारियां + मैं सिर्फ मामले में अपरिभाषित चर नोटिस छोड़ दिया छोड़ दिया है, यह एक नोटिस मुझे मिल गया के बाद से मैं इस पुस्तकालय जोड़ा है, अभी भी पुस्तकालय काम करता है और मुझे नहीं लगता कि यहां समस्या से आ सकता है है: जे एस-मार्ग:
C:\wamp\www\suapsRepo\suaps>php app/console router:debug
Notice: Undefined variable: kPathUrl in C:\wamp\www\suapsRepo\suaps\vendor\html2
pdf\_class\tcpdfConfig.php on line 80
Call Stack:
0.0070 231536 1. {main}() C:\wamp\www\suapsRepo\suaps\app\console:0
0.0209 685656 2. require_once('C:\wamp\www\suapsRepo\suaps\app\bootstr
ap.php.cache') C:\wamp\www\suapsRepo\suaps\app\console:10
0.0212 701752 3. require_once('C:\wamp\www\suapsRepo\suaps\app\autoloa
d.php') C:\wamp\www\suapsRepo\suaps\app\bootstrap.php.cache:3
0.1335 2998152 4. require_once('C:\wamp\www\suapsRepo\suaps\vendor\html
2pdf\html2pdf.class.php') C:\wamp\www\suapsRepo\suaps\app\autoload.php:51
0.1379 3361792 5. require_once('C:\wamp\www\suapsRepo\suaps\vendor\html
2pdf\_class\myPdf.class.php') C:\wamp\www\suapsRepo\suaps\vendor\html2pdf\html2p
df.class.php:19
0.1385 3393792 6. require_once('C:\wamp\www\suapsRepo\suaps\vendor\html
2pdf\_class\tcpdfConfig.php') C:\wamp\www\suapsRepo\suaps\vendor\html2pdf\_class
\myPdf.class.php:12
[router] Current routes
Name Method Pattern
_assetic_55f0319 ANY /css/55f0319.css
_assetic_55f0319_0 ANY /css/55f0319_bootstrap_1.
css
_assetic_55f0319_1 ANY /css/55f0319_bootstrap-re
sponsive_2.css
_assetic_55f0319_2 ANY /css/55f0319_style_3.css
_assetic_3608a04 ANY /js/3608a04.js
_assetic_3608a04_0 ANY /js/3608a04_bootstrap_1.j
s
_assetic_3608a04_1 ANY /js/3608a04_router_2.js
_assetic_3608a04_2 ANY /js/3608a04_suaps_3.js
fos_js_routing_js ANY /js/routing.{_format}
myBundle_homepage ANY /
myBundle_inscription_etape1 ANY /inscription/etape/1
myBundle_inscription_etape2 ANY /inscription/etape/2
myBundle_inscription_etape3 ANY /inscription/etape/3/{dis
ciplineSelection}
php एप्लिकेशन/कंसोल FOS के परिणाम डिबग (मैं हटा दिया पीएचपी सूचना लेकिन यह हर आदेश मैं बनाने पर होता है बीटीडब्ल्यू):
C:\wamp\www\suapsRepo\suaps>php app/console fos:js-routing:debug
[router] Current routes
Name Method Pattern
crrisuapsBundle_inscription_etape2 ANY /inscription/etape/2
crrisuapsBundle_inscription_etape3 ANY /inscription/etape/3/{disciplineSelect
ion}
संपादित करें: इसके अलावा, अगर यह प्रासंगिक है, लेकिन पता नहीं है जब मैं कोशिश 'php एप्लिकेशन/कंसोल FOS: js-मार्ग: डिबग myBundle_step2' मैं निम्नलिखित php त्रुटि मिलती है:
[त्रुटि अपवाद] चेतावनी: लापता Symfony \ Bundle \ FrameworkBundle \ Command \ RouterDebugCommand के लिए तर्क 3: आउटपुट रूट(), जिसे सी: \ symfonyDirectory \ विक्रेता \ bundles \ FOS \ JsRoutingBundle \ Command \ RouterDebugExposedCommand.php पंक्ति 62 पर परिभाषित किया गया है और सी: \ serverDirectory \ विक्रेता \ symfony \ src \ Symfony \ Bundle \ FrameworkBundle \ Command \ RouterDebugCommand.php लाइन 98
क्या आप हमें अपने दो राउटिंग के एनोटेशन/एक्सएमएल कॉन्फ़िगरेशन के साथ इन दो कार्रवाइयों का नियंत्रक दिखा सकते हैं? – stedekay
मैंने संपादित किया और सभी routing.yml + नियंत्रक कोड जोड़ा। – MisterJ
क्या आपने अपने लेआउट में जेएस जोड़ा है? [यहां] देखें (https://github.com/FriendsOfSymfony/FOSJsRoutingBundle/blob/master/Resources/doc/README.markdown#usage) – Erioch