【问题标题】:Rails: error when including javascriptRails:包含javascript时出错
【发布时间】:2017-06-18 15:06:08
【问题描述】:

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

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

如果我把它放在 assets/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 放在网站上并使用固定的引用呢?我没有成功。

【问题讨论】:

标签: javascript ruby-on-rails ruby ruby-on-rails-3


【解决方案1】:

此文件引用属于您的

layouts/application.rb

文件或您用于视图的任何布局。放入

<header>

该文件的部分,它将正常工作。 否则请阅读

TheAsset Pipeline of rails

【讨论】:

    【解决方案2】:

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

    $file -i sorttable.js
    sorttable.js:文本/html;字符集=iso-8859-1

    转化率:

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

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

    结果:

    $ 文件 -i sorttable.js
    sorttable.js:文本/html;字符集=utf-8

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      • 1970-01-01
      • 2012-02-03
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 2020-08-28
      相关资源
      最近更新 更多