2011-12-10 15 views
14

मेरे पास एक सेटअप है जहां nginx एक विशिष्ट उपफोल्डरसभी रेल मार्गों के लिए पथ उपसर्ग तैयार करें

उदाहरण के लिए रेल अनुप्रयोगों की सेवा करता है। http://myserver/railsapp/ और अंदर सब कुछ रेल के लिए प्रॉक्सी हो जाता है, अगर पहला सबफ़ोल्डर अलग है, तो यह किसी अन्य फ़ोल्डर से स्थैतिक फ़ाइलों को सर्वर करता है।

मैं यह समझने में सक्षम नहीं हूं कि रेलवे में इस व्यवहार को बुद्धिमान तरीके से कैसे निर्दिष्ट किया जाए। मेरा मतलब है, मैं चाहता हूं कि Rails.server_prefix = /railsapp जैसे विकल्प को निर्दिष्ट करना ताकि सभी मार्ग आने वाले अनुरोधों और जेनरेट किए गए लिंक पर स्वचालित रूप से प्रीपेड हो जाएं। तर्क पथ:

उत्तर

30

आप शायद के साथ रूटर के दायरे विधि का उपयोग करना चाहते

Rails.application.routes do 
    scope(:path => '/railsapp') do 
    # the rest of your routes go here 
    end 
end 

See the docs for more info.

+0

इस मार्ग पीढ़ी के लिए काम करेंगे, लेकिन रेल 3.1 में, इस पहचान नहीं होगा '/ railsapp/assets/pic.png' ... –

+8

अच्छी तरह से, अब मैं 'config.assets.prefix' के फ़ंक्शन को समझ गया ... मुझे' config.assets.prefix = '/ railsapp/assets''' रखना था और अब यह काम करता हैं! –

+1

आप मेरी राय में थोड़ा सरल वाक्यविन्यास के लिए 'स्कोप पथ: '/ railsapp' do' भी कर सकते हैं। हालांकि इसके लिए धन्यवाद, मेरी मदद की! – stuyam

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