да, у меня есть стек кедра. Если у вас активирована «живая компиляция», она компилируется каждый раз, когда происходит сбой кэша. На самом деле, если я деактивирую эту опцию (с помощью 'config.assets.compile = true'), то она вообще не будет работать.

ько что обновил свое приложение на Heroku с Rails 3.0 до 3.1 и пытаюсь заставить работать конвейер ресурсов. Основная проблема заключается в том, что я могу прочитать из журнала heroku следующие виды строк для каждого актива:

2011-09-03T16:35:28+00:00 app[web.1]: cache: [GET /assets/border-a3c571a354b9381740db48aeebfaa63a.jpg] miss

Если я правильно понимаю конвейер, это не должно быть "пропущено" для каждого запроса, который я делаю из браузера, но это должно быть найдено в кеше.

Читая документы Heroku, вы можете найти это объяснение:

Rails 3.1 provides an assets:precompile rake task to allow the compilation penalty to be paid up front rather than each time the asset is requested. If this task exists in your app we will execute it when you push new code.

Но какой должна быть задача «assets: precompile»? Я попытался создать проект с использованием rails 3.1 с нуля, чтобы попытаться выяснить это, но в голом проекте такой задачи нет. Или я что-то упустил? Как я могу сделать так, чтобы активы находились в кеше? Может быть, это просто проблема с конфигурацией.

Это параметры моего производственного конфигурационного файла:

config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = true # If I turn this off I get a 500 error and logs say that an  asset isn't compiled

В моем application.rb есть эта строка:

config.assets.enabled = true

Спасибо большое за вашу помощь!

Ответы на вопрос(4)

Ваш ответ на вопрос