2011-10-06 16 views
8

मैंने एक नया नया रेल 3.1 ऐप बनाया है। मैंने ऐप/संपत्ति/स्टाइलशीट/bootstrap.min.css में ट्विटर बूटस्ट्रैप सीएसएस फ़ाइल जोड़ा। (ताकि बूटस्ट्रैप शामिल किया गया है, पेड़ भी शामिल है) यहाँ प्रासंगिक कोडट्विटर बूटस्ट्रैप में प्रीकंपिलेशन के दौरान रेल 3.1 संपत्ति पाइपलाइन के अनुसार अमान्य सीएसएस है?

एप्लिकेशन/आस्तियों/स्टाइलशीट/application.css है

/* 
* This is a manifest file that'll automatically include all the stylesheets available in this directory 
* and any sub-directories. You're free to add application-wide styles to this file and they'll appear at 
* the top of the compiled file, but it's generally better to create a new file per style scope. 
*= require_self 
*= require_tree . 
*/ 

Gemfile

group :development, :qa do 
    gem 'execjs' 
    gem 'therubyracer' 
end 
# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.1.0' 
    gem 'coffee-rails', '~> 3.1.0' 
    gem 'uglifier', '>= 1.0.3' 
end 
(संकलन/संपीड़ित के लिए execjs और therubyracer भी शामिल है)

तब मैं संपत्ति

rake assets:precompile 

इस च precompile करने के लिए रेक कार्य चलाने निम्न त्रुटि

Invalid CSS after ".inputs-list li+": expected number or function, was "li" 

कि सीएसएस बूटस्ट्रैप फ़ाइल में है के साथ बीमारी (".inputs-सूची ली + ली" चयनकर्ता है)।

हालांकि, अगर मैं

rake assets:precompile RAILS_ENV=development 

चलाने अब यह ठीक काम करता है। पता चला है कि अगर मैं config/वातावरण/production.rb बदलने फ़ाइलों को संपीड़ित नहीं करने के लिए:

config.assets.compress = false 

तो मूल आदेश भी काम करता है (विकास पर्यावरण निर्दिष्ट किए बिना)।

तो, मैं त्रुटि को कैसे ट्रैक करूं? मैं अभी के लिए संपीड़न बंद करने के साथ रह सकता हूं, लेकिन जाहिर है कि कुछ गलत है। क्या यह रेल है? Sprockets? रुबी रेसर? Uglifier?

उत्तर

4

मैंने बूटस्ट्रैप के गैर-मिनी संस्करण का उपयोग करके इसे ठीक किया। rake assets:precompile चलाते समय भी यह संकलित हो जाएगा, इसलिए यह कोई समस्या नहीं है :)

+0

मैंने सोचा कि मैं के साथ-साथ गैर न्यूनतम किया संस्करण की कोशिश की है - और यह अभी भी काम नहीं किया गया था। अगर मैं वास्तव में कोशिश करना भूल गया तो मैं आपका जवाब स्वीकार करूंगा। किसी भी मामले में, मैंने आज रेलवे 3.1.1 ऐप पर फिर कोशिश की, और यह ठीक काम किया। दोनों minified और गैर-minified verions के साथ। – davekaro

+0

रेल को 3.1.1 में यह जानना अच्छा लगता है कि यह ठीक काम करता है :) – Ian

6

मैं उन पुस्तकालयों में से एक का उपयोग करने की अनुशंसा करता हूं जो बूटस्ट्रैप को सास में परिवर्तित करता है और इसे संपत्ति पाइपलाइन में शामिल करता है। इस तरह आप जेएस को शामिल कर लेंगे, आप preboot.scss फ़ाइल में बूटस्ट्रैप का उपयोग करने वाले चर बदल सकते हैं, और आप चुन सकते हैं कि कौन सी विशेषताओं को शामिल करना है। आप बंडलर का उपयोग करके अपग्रेड करने में भी सक्षम होंगे।

मैं बूटस्ट्रैप-सास का उपयोग करें और यह बहुत अच्छा काम करता है: https://github.com/thomas-mcdonald/bootstrap-sass

+0

मैंने इस पर विचार किया ... लेकिन यह उस समय और जटिलता को जोड़ता है जिसे मैं उस समय नहीं चाहता था। मैं बस सीएसएस फ़ाइल को छोड़ना और किया जाना चाहता था। – davekaro

+1

मैं इस विधि को स्वीकार करता हूं। – nobody

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