2011-05-23 6 views
19

में 'सास' जब रेल 3.1 RC1 में सास उपयोग करने के लिए कोशिश कर रहा है मैं इन चेतावनी हो रही है।एक गैर धागा सुरक्षित तरीका

WARN: tilt autoloading 'sass' in a non thread-safe way; explicit require 'sass' suggested. 
WARN: tilt autoloading 'sass/plugin' in a non thread-safe way; explicit require 'sass/plugin' suggested. 

यह मेरा जेमफ़ाइल है।

gem "rails", "~> 3.1.0.rc1" 
gem "haml" 
gem "sass" 

मैं एक फ़ाइल बनाने के लिए कोशिश की है config/initializers इस कोड युक्त अंदर sass.rb कहा जाता है।

require "sass" 

इस पर जेमफाइल बदलना।

gem "rails", "~> 3.1.0.rc1" 
gem "haml" 
gem "sass", require: false 

लेकिन चेतावनियां बनी हुई हैं। कोई भी जानता है कि इसे कैसे हल किया जाए?

मुझे the code मिला जो चेतावनियों को प्रिंट कर रहा है, अगर यह किसी भी मदद के लिए है।

उत्तर

13

क्या आपने Gemfile में ऐसा करने की कोशिश की है?

gem "sass", :require => 'sass' 

प्रारंभकर्ताओं का उपयोग किए बिना यह एक स्पष्ट कॉल है। इस तरह से विचार करें कि आप आरसी 1 रिलीज का उपयोग कर रहे हैं।

1

हेरोकू पर मुझे यह वही त्रुटि मिल रही थी और गुगलिंग ने मुझे समस्या खोजने में मदद नहीं की, इसलिए मैंने सोचा कि मैं इस प्रश्न में जो कुछ मिला हूं उसे जोड़ दूंगा क्योंकि यह खोज करते समय पहली बार आता है।

समस्या यह त्रुटि नहीं थी, कोड को हेरोकू तक दबाते समय यह एक छोटी सी त्रुटि थी। बाद जवाहरात सूचीबद्ध हैं इन पंक्तियों के जवाब देने के लिए रास्ते पर मुझे मिल गया:

Running: rake assets:precompile 
rake aborted! 
Tasks: TOP => environment 
(See full trace by running task with --trace) 
Precompiling assets failed, enabling runtime asset compilation 
Injecting rails31_enable_runtime_asset_compilation 
Please see this article for troubleshooting help: 
http://devcenter.heroku.com/articles/rails31_heroku_cedar#troubleshooting 

मैं सिर्फ Heroku पर Redis को विन्यस्त किया गया था तो मैं जानता था कि समस्या उन परिवर्तनों से संबंधित कुछ होना ही था। संपत्ति precompiling जबकि रेल 3.1.1 और ऊपर में,

, आप अपने आवेदन आरंभ रोकने कर सकते हैं और यह सुनिश्चित करना कि निम्न पंक्ति अपने> config/आवेदन में है द्वारा डेटाबेस से कनेक्ट: उस URL पर मैं इस पाया .rb:

config.assets.initialize_on_precompile = false

on_precompile जोड़ना = false लाइन इस सवाल में मूल एक सहित सभी त्रुटियों, तय की।

3

मैं एक ही समस्या थी, और जैसा कि लेख में वर्णित Rails 3.1+ Asset Pipeline on Heroku Cedar

RAILS_ENV=production bundle exec rake assets:precompile 

मैं भी Itecedors सुझाव जो भी काम किया की कोशिश की Heroku को आगे बढ़ाने से पहले स्थानीय स्तर पर संपत्ति संकलन के द्वारा इसे हल करने में सक्षम था:

While precompiling assets, in Rails 3.1.1 and up, you can prevent initializing 
your application and connecting to the database by ensuring that the following 
line is in your > config/application.rb: 

config.assets.initialize_on_precompile = false