3

在 Rails 中,javascript_tag 和 javascript_include_tag 都将 type 属性呈现为

类型="文本/javascript"

我需要自定义这个属性。我们的应用程序使用Slim语法,这使得这变得更加困难。

脚本 src="mathjax_config" type="text/x-mathjax-config"

^ 不会出错,但甚至不包含文件

javascript_tag[type="text/x-mathjax-config"] javascript 代码在这里

^ 抛出错误

我希望避免将文件从苗条中分离出来。

Ruby 版本 1.9.3 Rails 版本 3.2.3

4

2 回答 2

1

由于您正在修改 type 属性,因此您需要覆盖 javascript_tag 帮助器或编写自己的帮助器以使其正常工作。这种语法不那么优雅,但应该可以工作:

脚本 src=asset_path("mathjax_config") type="text/x-mathjax-config"

请注意,这是 slim/haml 语法 - erb 中的 YMMV。

于 2012-10-17T17:54:10.183 回答
1

未包含的文件不是 Slims 的错误。Slim 对属性的内容是不可知的,所以它会愉快地渲染

script src="mathjax_config" type="text/x-mathjax-config"

进入

<script src="mathjax_config" type="text/x-mathjax-config"></script>

此外,据我所知,浏览器应该很乐意加载类型不是“text/javascript”的脚本,并且您应该能够使用它们的 id 访问它们。

您的方法是正确的,并且未包含的脚本必须有不同的原因(例如找不到 src 中指定的文件)。

于 2013-03-22T10:43:50.270 回答