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.