Как встроить сжатый CSS в Rails с конвейером ресурсов

Я пытаюсь встроить CSS в свой макет. Я сейчас пользуюсь

= Rails.application.assets.find_asset('embedded.css'). Body.html_safe

Однако возвращаемый CSS не сжимается. Я проверил что .digest_path Файл актива существует и правильно сжат.

Конечно, я могу написать помощника, который проверит, существует ли для данного актива текущий сжатый файл ресурсов на диске, и использую его. Тем не менее, я думаю, что find_asset на самом деле компилирует актив CSS каждый раз, когда он вызывается - не очень хорошо в работе. Я надеюсь, что для этой проблемы существует более чистое решение.

1 ответ

Решение

Если активы должны быть перестроены в производство, производство должно иметь доступ к минифайерам. По умолчанию Gemfile имеет что-то вроде этого:

group :assets do
  gem 'sass-rails'
  gem 'coffee-rails'
  gem 'therubyracer'
  gem 'uglifier'
end

Нужно удалить :group assets doТаким образом, эти драгоценные камни также включены в производственную среду. Затем, find_asset восстанавливает ресурс и минимизирует / сжимает его при первом вызове и кэширует его.

Другие вопросы по тегам