Я заменил Asset Pipeline на Webpacker, но ищу аккуратный и аккуратный способ вставлять svg-файлы вместо изображений.
Я написал небольшой вспомогательный файл inline_svg_helper.rb
, который я использую, но я беспокоюсь, что это очень медленно.Должен ли я быть?
Вот как выглядит помощник:
require 'nokogiri'
module InlineSvgHelper
def the_inline_svg(path, css="")
doc = Nokogiri::XML(File.read("public#{path}"))
svg = doc.at_css "svg"
svg['class'] = "#{css}"
return raw doc
end
end
Вот как я это называю: <%= the_inline_svg("public#{asset_pack_path('images/grapes.svg')}", 'h-1/4 w-1/4') %>
Как бы я кешировал что-то подобное?Какой более эффективный способ справиться с этим?