2011-05-24 13 views
5

जब उपयोगकर्ता फ़ाइलें अपलोड करता है। रेल 3.0+ में, ये सार्वजनिक/अपलोड में जाएंगे। 3.1 में, फ़ाइलों को ऐप/संपत्ति/अपलोड पर अपलोड करना चाहिए? या फिर भी सार्वजनिक/अपलोड में?अपलोड की गई फ़ाइलों को रेल 3.1 में कहां संग्रहीत किया जाना चाहिए?

यह वास्तव में हमारे पर्यावरण में कोई मुद्दा नहीं है, क्योंकि हम S3 का उपयोग कर रहे हैं। बस रेल 3.1 की नई निर्देशिका संरचना को समझने की कोशिश कर रहा है।

आपके विचार क्या हैं?

उत्तर

7

में सभी सामान डाल दिया, Capistrano की सिफारिश की गई सार्वजनिक/system/

एप्लिकेशन/संपत्ति निर्देशिका से उलझन में नहीं मिलता, यह आमतौर पर सीएसएस/जे एस/coffeescript के लिए है फ़ाइलें, लगता है कि यह 3.1

3

अच्छा, उत्तर सरल है: आपके उपयोगकर्ताओं को केवल आपके /public निर्देशिका तक पहुंच होगी।

css और js प्राप्त करने के लिए कुछ ही युक्तियां हैं, लेकिन आपको अन्य सामानों के लिए /public के साथ रहना होगा।

आम तौर पर, मैं सार्वजनिक निर्देशिका /public/assets

0

apneadiving के जवाब देने के लिए पर जोड़ने के लिए 3.0 से सबसे बड़ा परिवर्तन है:

अगर आप Carrierwave उपयोग करते हैं, अस्थायी फ़ाइलों को अपने सिस्टम के/tmp निर्देशिका में हैं और अपलोड की गई फ़ाइलों मैं कर रहे हैं n $ RAILS_ROOT/public के नीचे एक उपनिर्देशिका, उदा। $ RAILS_ROOT/सार्वजनिक/अपलोड/YOUR-मॉडल/...

रेल 3.1 में 'संपत्ति' निर्देशिका जावास्क्रिप्ट और सीएसएस फ़ाइलों के लिए है ताकि sprockets उन्हें वहाँ और इतना है कि वे नहीं हैं उठा सकते हैं सीधे "सार्वजनिक" निर्देशिका के माध्यम से सुलभ ...

see: assets/javascripts/application.js and assets/stylesheets/application.css files 
    see: http://railscasts.com/episodes/265-rails-3-1-overview 

एप्लिकेशन/संपत्ति निर्देशिका CoffeeScript फ़ाइलों के लिए (यह भी सार्वजनिक रूप से सुलभ नहीं है, इसलिए नहीं अपलोड डाल करने के लिए एक जगह) में अपलोड की गई फ़ाइलों लाना

0

है फाइल सिस्टम केवल तभी काम करता है यदि आपके पास एक फ़ाइल सर्वर या नेटवर्क मैप किए गए स्टोरेज हैं ... मैं आमतौर पर फाइलें डालता हूं डेटाबेस में ही।

लेकिन जैसा कि वीआरएसएमएन ने कहा, इसके लिए संपत्ति का उपयोग न करें, संपत्ति पाइपलाइन सीएसएस/जेएस/एप्लिकेशन छवियों को व्यवस्थित करने के लिए है।

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

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