2011-11-11 17 views
6

मैं example.js.erb नामक टेम्पलेट का उपयोग करके प्रत्येक उपयोगकर्ता के लिए कुछ जेएस आउटपुट उत्पन्न कर रहा हूं। यह मूल रूप से एक जावास्क्रिप्ट फ़ाइल है जहां मुझे उपयोगकर्ता के अद्वितीय विवरण में रखना होगा। मैं उपयोगकर्ता के लिए एक विजेट के अंदर इसका उपयोग कर रहा हूँ।क्या रेल के साथ जेएस फ़ाइल प्रस्तुत करना और आउटपुट को कम करना संभव है?

क्या जेएस को कम करने के लिए कोई तरीका है क्योंकि इसे प्रस्तुत किया जा रहा है? अभी जावास्क्रिप्ट को सही ढंग से प्रस्तुत किया जा रहा है, लेकिन यह इसके लंबे प्रारूप में है और मैं फ़ाइल आकार को कम करने और डाउनलोड की गति बढ़ाने के लिए आउटपुट को छोटा करना चाहता हूं।

+0

क्या आप वाकई समग्र समय में कार्रवाई के इस प्रकार बनाने के द्वारा लाभ होगा रहे हैं आप निश्चित रूप से नेटवर्क यातायात में लाभ होगा? , लेकिन आप निश्चित रूप से कंप्यूटिंग समय में भी हार जाएंगे ... –

+0

इन फ़ाइलों को वार्निश द्वारा सामने वाले पर भारी कैश किया जाएगा जिसका अर्थ है कि वे एक बार उत्पन्न होंगे, और जब तक उपयोगकर्ता इसे बदल नहीं लेता तब तक वार्निश द्वारा परोसा जाता है। तो, हाँ, मुझे लगता है कि यह गणना समय के लायक है। – markquezada

+1

http://stackoverflow.com/questions/3805951/rails-javascript-compression-minification-on-respond-to-javascript-response – sparrovv

उत्तर

0

अपने नियंत्रक में, कुछ इस तरह का प्रयास करें:

def action_name 
    js_code = render_to_string 'your_js_code_view' 
    js_code.gsub!(/\r\n|\r|\n/, '') #and/or any other minimization you like 
    render 'the_view_wich_will_show_the_minimized_js_code' 
end 
संबंधित मुद्दे