导轨链轮 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']

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

我也遇到了这个问题,尽管我升级到 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

最新更新