6

मैंने संपत्तियों के लिए एक रेल इंजन बनाया है। मैं सीएसएस के लिए sprockets का उपयोग नहीं करते हैं। इसके बजाय, मैं सैस के @import पर भरोसा करता हूं। यह परीक्षण/डमी अनुप्रयोग में पूरी तरह से ठीक काम करता है, लेकिन रेल एप्लिकेशन कि इंजन की आवश्यकता होती है, यहरेल इंजन से सास आयात काम नहीं कर रहा

Sass::SyntaxError: File to import not found or unreadable: gumby. 

मैं थोड़ी देर के लिए इस पर किया गया है, और मूल रूप से रास्ते में नहीं था फेंकने रहता है सास के लिए लोड पथ। लेकिन तब मैं अपने config/application.rb को

config.sass.load_paths << "#{Gem.loaded_specs['gumby_on_rails'].full_gem_path}/app/assets/stylesheets" 

जोड़ा गया है और अब यह निश्चित रूप से फ़ाइल मैं आयात करने के लिए कोशिश कर रहा हूँ करने के लिए सही रास्ता दिखाता है। यह निम्न का पता लगाने में सूचीबद्ध पिछले पथ से पीछे नहीं है:

Sass::SyntaxError: File to import not found or unreadable: gumby. 
Load paths: 
    CompassRails::SpriteImporter 
    CompassRails::SpriteImporter 
    CompassRails::SpriteImporter 
    CompassRails::SpriteImporter 
    CompassRails::SpriteImporter 
    CompassRails::SpriteImporter 
    CompassRails::SpriteImporter 
    CompassRails::SpriteImporter 
    CompassRails::SpriteImporter 
    /Users/brandon/code/personal/blog_update/app/assets/images 
    /Users/brandon/code/personal/blog_update/app/assets/javascripts 
    /Users/brandon/code/personal/blog_update/app/assets/stylesheets 
    /Users/brandon/code/personal/blog_update/vendor/assets/javascripts 
    /Users/brandon/code/personal/blog_update/vendor/assets/stylesheets 
    /Users/brandon/.rvm/gems/[email protected]/gems/angularjs-rails-1.0.7/vendor/assets/javascripts 
    /Users/brandon/.rvm/gems/[email protected]/gems/turbolinks-2.2.2/lib/assets/javascripts 
    /Users/brandon/.rvm/gems/[email protected]/gems/jquery-rails-3.1.0/vendor/assets/javascripts 
    /Users/brandon/.rvm/gems/[email protected]/gems/coffee-rails-4.0.1/lib/assets/javascripts 
    /Users/brandon/code/personal/gumby/app/assets/stylesheets 
    /Users/brandon/code/personal/blog_update/app/assets/stylesheets 

रेल इंजन के पेड़ की तरह इस

app/ 
    assets/ 
    stylesheets/ 
     gumby/ 
     ... 
     gumby.css.scss 

(मुझे पता है कि तकनीकी रूप से आप एक इंजन में अपने सभी परिसंपत्तियों नाम स्थान चाहिए लग रहा है, लेकिन मैं गुस्सा/गुस्सा नहीं करना चाहता था, और मुझे लगता है कि एक नाम संघर्ष की संभावना पतली है।)

तो परीक्षण/डमी ऐप में मैं इस फ़ाइल को @import 'gumby'; के माध्यम से आयात कर सकता हूं, लेकिन यह रेल में विफल रहता है एप्लिकेशन। उपरोक्त अपवाद के साथ। मैं यह कैसे काम कर सकता हूं?

और वैसे, यह एक रेल 4.1 ऐप है, और कई अन्य "समान" प्रश्नों के उत्तर सभी Gemfile में समूहों का उपयोग करने के कारण हैं। रेल 4 समूहों से छुटकारा पा लिया, इसलिए यह समस्या/समाधान नहीं है।

उत्तर

2

तो मेरे लिए समाधान यह चूसना अप और यह gumby/gumby नाम स्थान के लिए गया था। तब मैं भी config/application.rb को बदलना पड़ा:

config.assets.paths << "#{Gem.loaded_specs['gumby_on_rails'].full_gem_path}/app/assets/stylesheets" 

और किसी कारण modular-scale ठीक से की आवश्यकता नहीं किया जा रहा था के लिए, भले ही इंजन पहले से ही यह जरूरी है। तो मुझे application.css.scssapplication.css.scss.erb में बदलना पड़ा और शीर्ष पर <% require 'modular-scale' %> डालना पड़ा।

+1

अंत में! रेल 4.2.1 के साथ, मुझे लगता है कि एक Sass load_path को कैसे जोड़ना है, मुझे एक समय का एक बिल्ली मिला है। 'config.sass.load_paths',' Sass :: Engine :: DEFAULT_OPTIONS [: load_paths] ', और' Sass :: Plugin.options [load_paths] 'का कोई प्रभाव नहीं पड़ता है (मूल प्रश्न के विपरीत, मैंने नहीं देखा ट्रेस में सूचीबद्ध पथ), लेकिन 'config.assets.paths' काम करता है .. –

+0

इसके बारे में सोचने के लिए आओ, शायद मेरी समस्या यह थी कि मुझे एक गैर-सास पथ जोड़ने की आवश्यकता थी - मुझे लगता है कि मेरी त्रुटि' एक्शन व्यू :: टेम्पलेट :: त्रुटि ', 'Sass :: SyntaxError' नहीं। फिर भी, यह जवाब मेरी समस्या हल हो गया है। –

2

तो आप इसे इस तरह लिखना चाहिए:

config.sass.load_paths << "#{Gem.loaded_specs['gumby_on_rails'].full_gem_path}/app/assets/stylesheets/gumby" 

या इस (untested) की कोशिश

@import_tree 'gumby'; 
+0

ऐसा लगता है कि यह संभवतः मेरे मुद्दे को हल कर सकता है, अगर मैंने इसे पहले से हल नहीं किया था। – Brandon

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