在Ruby Slim文件中设置Javascript类型

Set Javascript Type in Ruby Slim File

本文关键字:设置 Javascript 类型 文件 Ruby Slim      更新时间:2024-06-02

我有一个Ruby on Rails应用程序,该应用程序的邮件程序使用slim处理视图。

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

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

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

我想把Javascript放在脚本块中,而不是从src加载它,不像问这个问题的人:带有Rails和Slim 的自定义Javascript类型

谢谢!

您只需使用一个常规脚本标记并转义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": "$100"},
     {"name": "prodcut2", "price": "$200"}]
</script>