Подтвердить что ты не робот

"sass" небезопасным способом

Я получаю эти предупреждения при попытке использовать sass в Rails 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.

Это мой Gemfile.

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

Я попытался создать файл с именем sass.rb внутри config/initializers, содержащий этот код.

require "sass"

Изменение Gemfile на это.

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

Но предупреждения остаются. Кто-нибудь знает, как его решить?

Я нашел код, который печатает предупреждения, если это какая-то помощь.

4b9b3361

Ответ 1

Вы пытались сделать это в Gemfile?

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

это явный вызов без использования инициализаторов. кстати, считают, что вы используете выпуск rc1.

Ответ 2

У меня была такая же проблема, и я смог решить ее, собрав активы локально, прежде чем нажимать на Heroku, как упоминалось в статье Rails 3.1+ Asset Pipeline на Heroku Кедр

RAILS_ENV=production bundle exec rake assets:precompile

Я также попробовал предложение Itecedors, которое также работало:

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

Ответ 3

На Heroku я получал ту же ошибку, и googling не помог мне найти проблему, поэтому я подумал, что добавлю то, что я нашел к этим вопросам, так как она появляется при поиске.

Проблема была НЕ в этой ошибке, это была меньшая ошибка, пока он подтолкнул код до Heroku. После того, как драгоценные камни перечислены, эти строки заставили меня идти по пути ответа:

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

Я только что настраивал Redis на Heroku, поэтому я знал, что проблема должна быть связана с этими изменениями. На этом URL я нашел это:

При предварительной компиляции активов в Rails 3.1.1 и выше вы можете предотвратить инициализацию своих приложение и подключение к базе данных, гарантируя, что следующая строка находится в вашем файле > config/application.rb:

config.assets.initialize_on_precompile = false

Добавление строки on_precompile = false устраняет все ошибки, в том числе оригинальные в этом вопросе.