Rails:包含 javascript 时出错



我在另一个非Rails网站上有一些JavaScript,适用于浏览器端的表格。如果我从外部站点在我的 Rails 应用程序中引用它,它工作正常:

<script type="text/javascript" src="http://10.1.10.36/sort.js"></script>

如果我把它放在资产/javascripts 文件夹中,我会收到一个错误:

Encoding::InvalidByteSequenceError in Taxes#index
Showing /home/asa/Rails/home/app/views/layouts/application.html.erb where line #8 raised:
"xA3" on UTF-8

你能指出我这个错误是什么,为什么我得到它,我该如何解决它吗?

我确实找到了一个参考,上面写着命名它 sort.js.erb 并包含以下行:

<%# encoding: utf-8 %>

但这并没有什么区别。

或者,有没有办法把这个JavaScript放在网站上并使用固定的引用?我这样做没有成功。

此文件引用属于您的

layouts/application.rb

文件或用于视图的任何布局。把它放进

<header>

部分,它将正常工作。否则,请阅读

轨道的资产管道

我偶然发现了同样的问题,并通过将 Javascript 文件转换为 utf-8 格式来解决它。以前:

$file -i 排序表.js
排序表.js:文本/HTML;字符集=ISO-8859-1

转换:

$ iconv -f iso-8859-1 -t utf-8 sorttable.js -o sort.js

删除旧文件,重命名新文件...

结果:

$ 文件 -i 排序表.js
排序表.js:文本/HTML;字符集=UTF-8

调试器控制台中不再有错误。

最新更新