设置 Javascript 输入 Ruby Slim 文件

Set Javascript Type in Ruby Slim File

我在 Rails 上有一个 Ruby 应用程序,其中的邮件程序使用 slim 作为视图。

我想用 Google 标记格式标记电子邮件。 它需要一个类型为 JSON-LD 的脚本标签,如下所示: <script type="application/ld+json">

我的电子邮件视图是用 slim 写的。我知道我可以创建一个没有在 slim 中设置类型的脚本标签,方法是在它前面加上 javascript:,但不会那样设置类型。

如何在 slim 模板中将类型设置为 JSON-LD?

我想将 Javascript 放在脚本块中,而不是从 src 加载它,这与问这个问题的人不同: Custom Javascript type with Rails and Slim

谢谢!

您可以只使用常规脚本标记并转义 javascript:

script type="application/ld+json"
  | alert('hi’)

或者您可以创建快捷方式来完成此操作:

来自https://github.com/slim-template/slim

您还可以为快捷方式设置额外的固定值属性。

Slim::Engine.set_options shortcut: {'^' => {tag: 'script', attr: 'data-binding',
  additional_attrs: { type: "text/javascript" }}}

然后

^products
  == @products.to_json

呈现给

<script data-binding="products" type="text/javascript">
    [{"name": "product1", "price": "0"},
     {"name": "prodcut2", "price": "0"}]
</script>