मुझे पता है कि इस पर पहले से ही एक लाख प्रश्न हैं, लेकिन मुझे यह नहीं मिल रहा है।रेल 3.1, संपत्ति पाइपलाइन से जेएस फाइलों को बाहर करें
मैं अपनी अधिकांश जेएस फाइलों को संपत्ति पाइपलाइन में शामिल करना चाहता हूं, लेकिन मेरे पास कुछ सशर्त रूप से लोड करना चाहते हैं (या केवल कुछ पृष्ठों पर)। ये बड़ी, जटिल फाइलें हैं और कभी भी 95% उपयोगकर्ताओं द्वारा कभी भी उपयोग नहीं की जाएगी, इसलिए मैं उन्हें प्रत्येक उपयोगकर्ता के लिए लोड नहीं करना चाहूंगा।
app/assets/javascripts/calendar
तो मेरी प्रकट केवल शीर्ष निर्देशिका में शामिल हैं (और कैलेंडर उपनिर्देशिका को बाहर) करने के लिए स्थापित किया गया है:: जे एस फ़ाइलें का एक सेट एक कैलेंडर, में रखा के लिए है
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_directory .
मेरे config/वातावरण/production.rb:
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs.
config.assets.digest = true
# This following config is left over from previous Rails app,
# so not sure if it's now unnecessary ...
# Disable Rails's static asset server
# In production, Apache or nginx will already do this
config.serve_static_assets = false
ध्यान में रखते हुए मैं रयान बेट्स 'nifty_layout उपयोग कर रहा हूँ मैन्युअल रूप से कैलेंडर फ़ाइलों को शामिल करने:
javascript "calendar/date.js", "calendar/jquery.weekcalendar.js", "calendar/custom.js"
मैंने विकास और उत्पादन दोनों में प्रीकंपलिंग करने की कोशिश की है - दस्तावेज़ स्पष्ट नहीं हैं जहां मुझे ऐसा करना है, लेकिन यह उत्पादन की तरह दिखता है।
ActionView::Template::Error (calendar/date.js isn't precompiled)
मैं इसे precompiled नहीं करना चाहती:
और जब मैं पेज चलाने के लिए, मैं इस मिलता है। मैं इसे मैन्युअल रूप से लोड करना चाहता हूं। (असल में, मुख्य अनुप्रयोग.जेएस के अलावा किसी अन्य फ़ाइल में प्रीकंपाइल करना ठीक होगा, लेकिन मुझे नहीं पता कि यह कैसे करना है।)
समाधान क्या है?
धन्यवाद!