Rails Assets Precompile просто не работает
Я нажал приложение Rails на Heroku и продолжаю сталкиваться со следующей проблемой:
Я сохраню изменения в моем основном css.scss-файл (в assets/stylesheets) или к изображениям в assets/images, нажмите на git, нажмите на heroku и перезагрузите страницу, только чтобы узнать, что эти активы вообще не были загружены.
это также была небольшая проблема на локальном сервере, но ввод:
rake assets:precompile
и перезагрузка локального сервера обычно работала, тогда как делать
heroku run rake assets:precompile
а затем повторное нажатие ничего не делает. Я искал информацию и не нашел ничего особенно полезного.
заметьте, в моем конфиг/приложения.rb (некоторые из них результат сказал Рыбалка вокруг):
# Enable the asset pipeline
config.assets.enabled = true
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
на в config/сред/производство.rb:
# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false
# Compress JavaScripts and CSS
config.assets.compress = true
# Fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
# Generate digests for assets URLs
config.assets.digest = true
дополнительного возможного интереса, когда я нажимаю на heroku, он говорит, среди прочего, это:
Preparing app for Rails asset pipeline
Detected manifest.yml, assuming assets were compiled locally
-----> Rails plugin injection
Injecting rails_log_stdout
Injecting rails3_serve_static_assets
и
Installing dependencies using Bundler version 1.3.0.pre.5
Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin --deployment
я узнал с Rails 3 и действительно не знаю, как конвейер активов отличается от того, что было доступно в предыдущей версии, поэтому извините, если я идиот и ставлю перекрывающиеся и/или противоречивые настройки в моих файлах конфигурации.
был бы признателен за любую помощь. Это была головная боль.
1 ответов
похоже, что вы можете добавить свои локально скомпилированные активы в git и нажать их, и в результате Heroku не компилирует ваши активы на push. Убедитесь, что вы не добавляете каталог public/assets в git.