我曾经使用rails-sprockets
2.x,并在电子邮件布局模板中使用以下内容来包含css
Rails.application.assets.find_asset('file').to_s.html_safe
但是,这在 3.x 中不再有效,rails-sprockets
建议使用
Rails.application.assets_manifest.assets['file.css']
这仅返回文件的字符串名称(如果存在)。我将如何获取文件的主体以便可以在视图中输出它?
我曾经使用rails-sprockets
2.x,并在电子邮件布局模板中使用以下内容来包含css
Rails.application.assets.find_asset('file').to_s.html_safe
但是,这在 3.x 中不再有效,rails-sprockets
建议使用
Rails.application.assets_manifest.assets['file.css']
这仅返回文件的字符串名称(如果存在)。我将如何获取文件的主体以便可以在视图中输出它?
我也遇到了这个问题,虽然我升级到 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