मैं redirect
के साथ कुछ अजीब व्यवहार देख रहा हूं जब मैंने अपना app.context
एक निश्चित तरीके से सेट किया है। मैं Grails JIRA जो पूरी तरह से मेरी समस्या का वर्णन में एक बग मिला है, लेकिन यह UTR के रूप में चिह्नित किया गया था:
मैं वर्तमान में Grails 2.0M2 उपयोग कर रहा हूँ: http://jira.grails.org/browse/GRAILS-7546app.context का उपयोग करते समय Grails गलत पते पर रीडायरेक्ट करता है?
यहाँ समस्या का मेरा वर्णन है। मैं अपने application.properties में परिभाषित निम्नलिखित गुण फ़ाइल है
app.context=/
app.name=foobar
जब मैं एक नियंत्रक में redirect
फोन, redirect
uri मैं प्रदान करते हैं जो फिर एक 404. यहाँ का कारण बनता है पर ऐप्लिकेशन का नाम जोड़ रहा है मैं कैसे कर रहा है 'm यह कर:
String partialUrl = createLink(mapping: 'helloworld') // returns `/hello/world`
redirect(uri: partialUrl) // INCORRECTLY redirects to
// `http://mysite.com/foobar/hello/world`
// instead of `http://mysite.com/hello/world`
मान लें मैं एक यूआरएल मानचित्रण helloworld
नामित /hello/world
के रास्ते के साथ अपने UrlMappings.groovy
फाइल में परिभाषित किया है।
तो, लम्बी कहानी संक्षेप में, अगर मैं सेट /
को app.context
, मैं नहींapp.name
मेरा अंतिम रीडायरेक्ट URL में दिखाने की उम्मीद करेंगे।
क्या यह एक बग या अपेक्षित व्यवहार है? सबसे आसान तरीका पर कोई विचार मैं मैन्युअल चरणों के बिना रीडायरेक्ट यूआरएल का निर्माण कर सकता हूं?
सही ... टॉमकैट उत्पादन में app.context ओवरराइड कर सकता है, हालांकि समस्या अभी भी बनी हुई है कि 'रीडायरेक्ट' है कि Grails app.context का उपयोग करने के बजाय रीडायरेक्ट URL बनाने के दौरान app.name का उपयोग कर रहा है। – Polaris878