Wil*_*ill 5 javascript json ruby-on-rails slim-lang
我有一个带有邮件的Ruby on Rails应用程序,它们使用slim来查看视图.
我想用Google标记格式标记一封电子邮件.它需要一个类型为JSON-LD的脚本标记,如下所示:
<script type="application/ld+json">
我的电子邮件视图写得很苗条.我知道我可以创建一个脚本标签,该脚本标签没有通过前缀来设置苗条javascript:的类型,但不会以这种方式设置类型.
如何在苗条模板中将类型设置为JSON-LD?
我想把Javascript放在脚本块中而不是从src加载它,不像提问这个问题的人: 使用Rails和Slim自定义Javascript类型
谢谢!
您可以使用常规脚本标记并转义javascript:
script type="application/ld+json"
| alert('hi’)
Run Code Online (Sandbox Code Playgroud)
或者您可以创建一个快捷方式来完成此任务:
来自https://github.com/slim-template/slim:
您还可以为快捷方式设置其他固定值属性.
Slim::Engine.set_options shortcut: {'^' => {tag: 'script', attr: 'data-binding',
additional_attrs: { type: "text/javascript" }}}
Run Code Online (Sandbox Code Playgroud)
然后
^products
== @products.to_json
Run Code Online (Sandbox Code Playgroud)
它呈现给
<script data-binding="products" type="text/javascript">
[{"name": "product1", "price": "$100"},
{"name": "prodcut2", "price": "$200"}]
</script>
Run Code Online (Sandbox Code Playgroud)