2012-06-19 14 views
5

जब भी मेलर्स आग से एक बंद करता है, तो शरीर link_to root_url की तरह कुछ होता है यह इस अविश्वसनीय रूप से बेकार त्रुटि देता है:विरासत में प्राप्त अनुप्रयोग, कोई मार्ग मैचों {}

ActionView::Template::Error: No route matches {} 

का पता लगाने या तो बेकार है या अंक उस link_to विधि पर। चूंकि यह यहां भी बहुत अचूक है, इसलिए मैं ढेर ओवरफ्लो पर पूछ रहा हूं।

अद्यतन 1: https://gist.github.com/2955610

अद्यतन 2: मदद करने के लिए, मैं भयानक routes.rb फ़ाइल पोस्ट किया है कंसोल में, app.root_url सही वापसी प्रदान करता है।

अद्यतन 3:link_to "whatever", root_url काम करता है ठीक। कितना अजीब!

अद्यतन 4: यह नियमित रेल दृश्य में ठीक काम करता है।

अद्यतन 5:निर्धारितimage_tag अब ई-मेल में एक मेजबान, outputting प्रदान नहीं कर रहा है: http://assets/...png। Fffff।

अद्यतन 6: मैंने इसे नीचे संकुचित कर दिया है कि मुझे (कंसोल में) app.url_for के साथ एक ही त्रुटि मिलती है। मुझे लगता है कि यह संबंधित हो सकता है।

+1

बस मामले में, क्या आपके पास root.r => "कुछ" रूट्स.आरबी में है? – dimuch

+0

@dimuch मैं अपनी रूट फ़ाइल पोस्ट करूंगा, वॉचआउट, यह बदसूरत है। – krainboltgreene

+0

क्या आप टेम्पलेट्स से कुछ लाइनें भी दिखा सकते हैं जो त्रुटि का कारण बनती हैं? – dimuch

उत्तर

6

तो असली जवाब यह है कि link_to एक्शनमॉलर में एक्शनमेलर की तुलना में अलग-अलग काम करता है। अंतर यह है कि जाहिरा तौर पर ActionController :script_name नामक विकल्प होता है है, और यह आपके लिए मान्यताओं के सभी प्रकार बनाता है।

अब जबकि मुझे लगता है कि अंतर के साथ सहमत नहीं हूँ वहाँ काफी नहीं है आप इसके बारे में क्या कर सकते हैं, तो यहाँ मैं क्या कर समाप्त हो गया है:

link_to root_url, root_url 

अब, कारण है कि मैं दोनों का प्रयोग करेंगे? वैसे दो कारण:

  1. मैं यूआरएल एंकर टेक्स्ट और href के रूप में चाहता था।
  2. तो URL परिवर्तन, मैं उन सभी स्ट्रिंग्स अद्यतन करने के लिए करना चाहते हैं।
+0

यह अविश्वसनीय है, मैंने इस अप्रत्याशित व्यवहार पर 3 घंटे से अधिक समय पहले बिताया है। बहुत धन्यवाद। – antiqe

+0

बहुत बहुत धन्यवाद! मैंने बस इसके साथ कुछ घंटों खो दिए। –

0

मेलर्स के साथ समस्या यह है कि हो सकता है आप "मेजबान" विकल्प याद आती है? :)

+0

मेरी' production.rb' फ़ाइल में मेरे पास यह सेट है: 'config.action_mailer.default_url_options = {होस्ट : "www.connectforacause।कॉम "}' – krainboltgreene

संबंधित मुद्दे