elektronaut की तरह संकेत दिया, यह शायद कुछ है जो आपके प्रॉक्सी की कॉन्फ़िगरेशन में संभाला जाना चाहिए। उस ने कहा, ActiveSupport :: UrlFor # url_for में कुछ जानकारी है जो उपयोगी हो सकती है। http://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/routing/url_for.rb
पर एक नज़र डालें जो मुझे लगता है कि यह आपके url_for और/या link_to कॉल में दो तर्क पारित करने के लिए उबलता है।
link_to 'test', root_url(:port => 80, :only_path => false)
और एक कस्टम बनाते समय: पहले :port => 123
तर्क है, दूसरा :only_path => false
इतना है कि यह डोमेन, बंदरगाह सहित पूरा लिंक उत्पन्न करता है, आदि
तो जब एक लिंक पैदा करने के लिए, आप कर सकते हैं है यूआरएल आप क्या कर सकते हैं:
url_for :controller => 'test', :action => 'index', :port => 80, :only_path => false
एक रीडायरेक्ट के लिए:
redirect_to root_url(:port => 80, :only_path => false)
मुझे आशा है कि इससे मदद मिलती है, और यदि ऐसा नहीं होता है, तो आप अपने यूआरएल कैसे उत्पन्न कर सकते हैं, आपके लिए कौन सी रेलियां उत्पन्न हो रही हैं, और आप इसे उत्पन्न करना चाहते हैं।
अद्यतन: मैं इस बारे में पता नहीं था, लेकिन यह आप यूआरएल रेल के लिए चूक url_for है, जो सब कुछ है कि लिंक और/या URL उत्पन्न करता है के द्वारा प्रयोग किया जाता है के साथ उत्पन्न करता है निर्धारित कर सकते हैं लगता है।http://lucastej.blogspot.com/2008/01/ruby-on-rails-how-to-set-urlfor.html
या यह योग करने के लिए आप के लिए:
अपने application_controler.rb
def default_url_options(options)
{ :only_path => false, :port => 80 }
end
को यह जोड़ें और इस:
helper_method :url_for
इसके बारे में एक अच्छा लिखने अप यहाँ है पहले ब्लॉक नियंत्रकों में डिफ़ॉल्ट सेट सेट करता है, दूसरा यूआरएल_for हेल्पर को नियंत्रकों में पाए गए एक का उपयोग करने का कारण बनता है, इसलिए डिफ़ॉल्ट भी उस पर लागू होते हैं।
पोर्ट 9000 पर क्या चल रहा है? हैप्रोक्सी डेमॉन या nginx, और आप haproxy और nginx का उपयोग क्यों करते हैं? – jigfox
हैप्रोक्सी डिमन पोर्ट 80 पर है, और मेरे पास विभिन्न प्रकार के बंदरगाहों पर चल रहे nginx उदाहरण हैं। – Garrett