Как встроить сжатый 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
восстанавливает ресурс и минимизирует / сжимает его при первом вызове и кэширует его.