我曾经使用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