Рельсовые звездочки 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
Другие вопросы по тегам