Ответ 1
Вы пытались сделать это в Gemfile?
gem "sass", :require => 'sass'
это явный вызов без использования инициализаторов. кстати, считают, что вы используете выпуск rc1.
Я получаю эти предупреждения при попытке использовать 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
Но предупреждения остаются. Кто-нибудь знает, как его решить?
Я нашел код, который печатает предупреждения, если это какая-то помощь.
Вы пытались сделать это в Gemfile?
gem "sass", :require => 'sass'
это явный вызов без использования инициализаторов. кстати, считают, что вы используете выпуск rc1.
У меня была такая же проблема, и я смог решить ее, собрав активы локально, прежде чем нажимать на 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
На 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 устраняет все ошибки, в том числе оригинальные в этом вопросе.