4

我曾经使用rails-sprockets2.x,并在电子邮件布局模板中使用以下内容来包含css

Rails.application.assets.find_asset('file').to_s.html_safe

但是,这在 3.x 中不再有效,rails-sprockets建议使用

Rails.application.assets_manifest.assets['file.css']

这仅返回文件的字符串名称(如果存在)。我将如何获取文件的主体以便可以在视图中输出它?

4

1 回答 1

3

我也遇到了这个问题,虽然我升级到 sprockets 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
于 2016-02-02T17:13:29.703 回答