如何在 Rails 中内联渲染 SVG?

How do I render an SVG inline in Rails?

我有一个 SVG 文件,它是模板的一部分,位于:

vendor/theme/assets/icons/icon-1.svg

如何在我的视图中呈现内联? render partial: path 失败并说找不到部分。

在您的视图中插入以下内容:

<%= render inline: Rails.root.join('vendor/theme/assets/icons/icon-1.svg').read %>

如果您要多次执行此操作,您可能需要将其重构为一个帮助程序。

另外,请思考以下问题:

  • 您可以将第三方代码直接转储到您的视图中吗?
  • 供应商 SVG 文件是否未经审核自动更新?
  • 您确定供应商 SVG 文件绝不会包含恶意代码吗?