Наилучшим вариантом является локальная компиляция, фиксация и развертывание в обычном режиме, отключение задачи прекомпиляции для производства.Сейчас я делаю это для всех моих производственных приложений.
Чтобы обойти эти скомпилированные ресурсы, обслуживаемые в режиме разработки (переопределение динамической конвейерной компиляции, которая вам нужна), выполните следующие действия.
В разработке.rb поместите следующую строку:
config.assets.prefix = "/dev-assets"
Это переопределяет все, что установлено в application.rb (обычно "/assets").
Вам также понадобится это в application.rb:
config.assets.initialize_on_precompile = false
Это останавливает задачу, пытающуюся подключиться к вашей базе данных.(Будьте осторожны, если вы ссылаетесь на модели ActiveRecord в своих ресурсах, так как это не сработает).
Эти изменения позволяют вам скомпилировать и зафиксировать ресурсы в вашем хранилище локально и использовать эти файлы в рабочей разработке.дерево, но для разработки запросы все еще должны быть отправлены в Sprockets.Кроме того, вам нужно прекомпилировать и фиксировать только тогда, когда что-то действительно изменилось.
Ссылка мой пост в блоге