Рельсовые звездочки 3.0 find_asset
Я использовал, чтобы использовать rails-sprockets
2.x и использовал следующее в шаблоне макета электронной почты, чтобы включить css
Rails.application.assets.find_asset('file').to_s.html_safe
Тем не менее, это больше не работает в rails-sprockets
3.x и предлагается использовать
Rails.application.assets_manifest.assets['file.css']
Это только возвращает строковое имя файла (если оно существует). Как бы получить тело файла, чтобы я мог вывести его в виде?
1 ответ
Я тоже столкнулся с этой проблемой, хотя я обновился до звездочек 3.x около 7 месяцев.
Я собрал это все так быстро, как только мог (там, вероятно, есть лучшее решение...) - это даст вам имя пути - просто используйте File.read()
def find_asset_path(asset_name)
if Rails.application.assets
Rails.application.assets.find_asset(asset_name).pathname
else
name = Rails.application.assets_manifest.assets[asset_name]
File.join(Rails.public_path, 'assets', name)
end
end